Agrupar elementos de un dataframe en Scala

Ejemplo: Agrupar datos de forma simple Ejemplo donde se agrupa la tabla personas por apellido df.groupBy(«apellido»).count().show() +——–+—–+ |apellido|count| +——–+—–+ | Martin| 1| | Garcia| 3| +——–+—–+ Ejemplo: Agrupar datos combinado con filtro Ejemplo donde se agrupa la tabla personas por apellido y se selecciona los que tenga más de 2 apariciones. df.groupBy(«apellido»).count().filter(«count > 2»).show() +——–+—–+…

Read More »

Agrupar elementos con SQL Spark en Scala

Ejemplo: Agrupar elementos Contar el número de personas que comparten el mismo apellido. 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         | apellido, count(*) as num_iguales         | from personas         | group by apellido     «»».stripMargin)     .show +——–+———–+ |apellido|num_iguales| +——–+———–+…

Read More »

Agrupar elementos de un RDD en Scala

Agrupar por clave – groupByKey() Agrupa los elementos de un RDD por clave. val words = sc.parallelize(List(«avion», «tren», «barco», «coche», «moto», «bici»), 2) val rdd_with_key = words.keyBy(_.length) // se usa la longitud de la palabra como clave rdd_with_key.groupByKey.collect() res: Array[(Int, Iterable[String])] = Array((4,CompactBuffer(tren, moto, bici)), (5,CompactBuffer(avion, barco, coche)))   Reducir por clave – reduceByKey() Agrega…

Read More »