Ejemplo: Contar datos
Contar las personas que sean mayores de 30 años
val df = Seq( ("Paco","Garcia",24,24000), ("Juan","Garcia",26,27000), ("Lola","Martin",29,31000), ("Sara","Garcia",35,34000) ).toDF("nombre", "apellido","edad","salario") df.createOrReplaceTempView("personas") spark .sql( """select |count(*) as mayores_de_30 |from personas |where edad > 30 """.stripMargin) .show
+-----------------+ | mayores_de_30 | +-----------------+ | 1| +-----------------+
Ejemplo: Filtrar por texto
Encontrar las personas que su apellido empieze por «Gar»
spark .sql( """select | nombre, apellido |from personas |where apellido like 'Gar%' """.stripMargin) .show
+------+--------+ |nombre|apellido| +------+--------+ | Paco| Garcia| | Juan| Garcia| | Sara| Garcia| +------+--------+
Ejemplo: Multiples condiciones
Encontrar las personas que cobrando más de 25.000 euros y se llamen Juan o Sara
spark .sql( """select | nombre, apellido | from personas | where salario > 25000 and (nombre == 'Juan' or nombre == 'Sara') """.stripMargin) .show
+------+--------+ |nombre|apellido| +------+--------+ | Juan| Garcia| | Sara| Garcia| +------+--------+
Ejemplo: Elementos distintos
Encontrar todos los apellidos distintos de la tabla
spark .sql("""select | distinct apellido | from personas """.stripMargin) .show
+--------+ |apellido| +--------+ | Martin| | Garcia| +--------+
Ejemplo: Elementos de un conjunto
Encontrar todas las personas que su nombre es Paco o Juan
spark .sql( """select | nombre, apellido, edad | from personas | where nombre in ('Paco','Juan') """.stripMargin) .show
+------+--------+----+ |nombre|apellido|edad| +------+--------+----+ | Paco| Garcia| 24| | Juan| Garcia| 26| +------+--------+----+
0 comentarios