Reparticionar RDDs en Scala

Tuberias de particiones RDDs – spipe() Toma los datos RDD de cada una de las particiones y los envía a través de stdin a una linea de comandos val rdd = sc.parallelize(1 to 10, 2) rdd.pipe(«head -n 2»).collect() res: Array[String] = Array(1, 2, 6, 7)  ...

Producto cartesiano de dos RDDs en Scala

Producto cartesiano – cartesian() Nos devuelve un RDD fruto del producto cartesiano de dos RDDs, donde cada elemento del primer RDD se une a cada elemento del segundo RDD. val x = sc.parallelize(List(1,2,3)) val y = sc.parallelize(List(«a»,»b»,»c»,»d»))...

Ordenar elementos de un RDD en Scala

Ordenar elementos por clave – sortByKey() Nos devuelve un RDD ordenado por clave // Ejemplo ascendente val rdd = sc.parallelize(List((«tren», 1), («avion», 2), («barco», 4), («barco», 3))) rdd.sortByKey(true).collect() res: Array[(String, Int)] =...

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...

Filtrar RDDs en Scala

Filtrar RDD – filter() Nos devuelve un RDD después de aplicar una función de filtro sobre el RDD original val rdd1 = sc.parallelize(List(«pescado azul», «cielo azul», «pescado blanco», «carne roja»)) val rdd2 = rdd1.filter(_.contains(«azul»)) rdd2.collect res:...