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