Funciones estadísticas de dataframes en Scala

Ejemplo de funciones estadiscias: media Muestra un ejemplo de como realizar la media sobre un conjunto de datos val df = Seq(   («Paco»,»Garcia»,24,24000),   («Juan»,»Garcia»,26,27000),   («Lola»,»Martin»,29,31000),   («Sara»,»Martin»,32,32000),   («Sara»,»Garcia»,35,34000) ).toDF(«nombre», «apellido»,»edad»,»salario») df   .select(avg(«edad»))   .show() +———+ |avg(edad)| +———+ | 29.2| +———+ Ejemplo de funciones estadiscias: suma Muestra un ejemplo de como…

Read More »

Mostar datos de dataframes en Scala

Mostar datos de tabla Muestra los datos del dataframe 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.show() +——+——–+—-+——-+ |nombre|apellido|edad|salario| +——+——–+—-+——-+ | Paco| Garcia| 24| 24000| | Juan| Garcia| 26| 27000| | Lola| Martin| 29| 31000| | Sara| Garcia| 35| 34000| +——+——–+—-+——-+ Mostrar resumen de datos Muestra una tabla…

Read More »

Unir tablas con SQL Spark en Scala

Ejemplo: Unir tablas Unir tablas que tenga el identificador comun val df = Seq(   (1,»Paco»,»Garcia»,24,24000),   (2,»Juan»,»Garcia»,26,27000),   (3,»Lola»,»Martin»,29,31000),   (4,»Sara»,»Garcia»,35,34000) ).toDF(«id»,»nombre», «apellido»,»edad»,»salario») df.createOrReplaceTempView(«personas») val df = Seq(   (1,»Rojo»,»Pasta»),   (2,»Amarillo»,»Pizza»),   (3,»Azul»,»Patatas»),   (5,»Rojo»,»Pizza»),   (6,»Negro»,»Pulpo») ).toDF(«id», «color»,»comida») df.createOrReplaceTempView(«gustos») spark     .sql(     «»»select p.*, g.*       |from personas p       |inner…

Read More »

Ordenar elementos con SQL Spark en Scala

Ejemplo: Ordenar elementos Ordena personas por nombre. 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         | nombre, apellido         | from personas         | order by nombre     «»».stripMargin)     .show +——+——–+ |nombre|apellido| +——+——–+ | Juan| Garcia| | Lola| Martin| | Paco|…

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 »

Mi primera aplicacion Apache Spark en Scala con Maven en Intelligent Idea

Este post tiene como objetivo ayudar al lector a crear una simple aplicación Spark. Para ello, es necesario configurar bien una serie de herramientas informáticas que faciliten el desarrollo, las pruebas y el empaquetado. Prerequisitos En esta sección se van a definir las herramientas que se necesitan para iniciar el desarrollo. Para comenzar es necesario…

Read More »

Selecionar y filtrar con SQL Spark en Scala

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

Read More »

Spark SQL en Scala

Registrar tabla temporal a partir de dataframe Spark permite la posibilidad de definir «Spark SQL» para poder hacer consultas en formato SQL sobre datos en scala. val df = Seq(   («id1», 1,1),   («id1», 2,1),   («id1», 3,1),   («id1», 4,1),   («id2», 1,1),   («id2», 2,1),   («id2», 3,1),   («id3», 1,1),  …

Read More »

Añadir columna en Dataframe en Scala

Añadir columna de unos Se suele añadir una coñumna de unos para en posteriores operaciones de reduce realizar recuentos por agrupación. val df = Seq( («id1», 1), («id1», 2), («id1», 3), («id1», 4), («id2», 1), («id2», 2), («id2», 3), («id3», 1), («id3», 2) ).toDF(«id», «valor») val df_plus = df.withColumn(«new_column», lit(1)) df_plus.show() +—+—–+———-+ | id|valor|new_column| +—+—–+———-+…

Read More »

Cálculos sobre ventana temporal en Dataframe Scala

Cálculo de media móvil en Dataframe Scala Calcula la media móvil a partir de una ventana temporal de 3 periodos import org.apache.spark.sql.expressions.Window import org.apache.spark.sql.functions._ val df = sc.parallelize(    List((«Sensor1», «2016-05-01», 50.00),         («Sensor1», «2016-05-03», 45.00),         («Sensor1», «2016-05-04», 55.00),         («Sensor2», «2016-05-01», 25.00),         («Sensor2», «2016-05-04», 29.00),         («Sensor2», «2016-05-06», 27.00))     ).toDF(«sensor», «fecha»,…

Read More »