Conectar con Scala al HDFS de Hadoop

Escribir datos en HDFS Ejemplo de como escribir datos RDD en un HDFS de Hadoop. // Borrar el fichero si es que existe import scala.sys.process._ “hdfs dfs -rm -r /pruebas” ! // Grabar un RDD en HDFS val rdd = sc.parallelize(List(     (0, 60),     (0, 56),     (0, 54),     (0, 62),     (0,…

Autor: Diego Calvo

Read More »

Leer y escribir RDDs en Scala

Leer RDDs Ejemplo de lectura de RDDs en Scala val rdd2 = sc.textFile(“hdfs:///mitabla_hdfs/”) rdd2.collect() res: Array[String] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)   Escribir RDDs Ejemplo de escritura de RDDs en Scala val rdd = sc.parallelize(List(1,2,3,4,5,6,7,8,9)) rdd.saveAsTextFile (“hdfs:///mitabla_hdfs/”); Autor: Diego Calvo

Autor: Diego Calvo

Read More »

Definición de RDD

Definición de RDD RDD (Resilient Distributed Datasets o Conjuntos distribuidos y flexibles de datos), representa una colección inmutable y particionada de elementos sobre los que se puede operar de forma paralela. Un RDD se puede crear o bien paralelizando una colección de datos (lista, diccionario,..) o bien cargándolos de un sistema de almacenamiento externo, como…

Autor: Diego Calvo

Read More »

Tutorial de Scala (ejemplos simples)

Scala es un lenguaje funcional, orientado a objetos y multiplataforma que corre actualmente sobre la Maquina Virtual de Java. Por otro lado destacar la gran ventaja de integrar sin problemas bibliotecas desarrolladas en otros lenguajes de programación. Una vez definidas las características principales del lenguaje de programación, se muestra el tutorial de Scala, donde se…

Autor: Diego Calvo

Read More »

Ejemplos – Contar elementos de un RDD en Scala

Ejemplo: contar elementos – count() Cuenta el número de elementos de un RDD. val rdd = sc.parallelize(1 to 4) rdd.count res: Long = 4   Ejemplo: contar elementos por clave – ContarcountByKey() Cuanta en número de elementos de un RDD agrupados por clave. val rdd = sc.parallelize(List((1, “tren”), (1, “avion”), (2, “coche”), (2, “moto”)), 2)…

Autor: Diego Calvo

Read More »

Reducir elementos de un RDD en Scala

Ejemplo: reducir elementos de un RDD – reduce (función) Agregar los elementos del conjunto de datos segun la función indicada por parámetro. Esta función debe ser conmutativa y asociativa para que se pueda calcular correctamente en paralelo. val rdd = sc.parallelize(1 to 4, 2) rdd.reduce(_+_) res: Int = 10 Ejemplo: reducir elementos de un RDD…

Autor: Diego Calvo

Read More »

Guardar elementos de RDDs en Scala

Guardar elementos de RDDs: SaveAsTextFile (ruta) Escribe los elementos del conjunto de datos como un archivo de texto (o conjunto de archivos) en un directorio determinado en el sistema de archivos local, HDFS o cualquier otro sistema de archivos compatible con Hadoop. Spark llama String en cada elemento para convertirlo en una línea de texto…

Autor: Diego Calvo

Read More »

Seleccionar partes de un RDD en Scala

count() Nos devuelve la cantidad de elementos en el conjunto de datos. var rdd =  sc.parallelize(1 to 100, 3) rdd.count() res: Long = 100   first() Nos devuelve el primer elemento del conjunto de datos. Similar a take(1). var rdd =  sc.parallelize(1 to 100, 3) rdd.first() res: Int = 1   max() Nos devuelve el…

Autor: Diego Calvo

Read More »

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)   Reducir particiones en RDDs – coalesce() Nos devuelve un…

Autor: Diego Calvo

Read More »