Tutorial de marco de datos de PySpark: programación de PySpark con marcos de datos



En este blog tutorial de PySpark Dataframe, aprenderá sobre transformaciones y acciones en Apache Spark con múltiples ejemplos.

Dataframes es una palabra de moda en la industria hoy en día. La gente tiende a usarlo con lenguajes populares utilizados para análisis de datos como Python, Scala y R.Además, con la evidente necesidad de manejar análisis complejos y tareas de manipulación para Big Data, Python para Spark o se ha convertido en una de las habilidades más buscadas en la industria hoy.Entonces, ¿por qué todo el mundo lo usa tanto? Entendamos esto con nuestro PySpark Dataframe Tutorial Blog. En este blog, cubriré los siguientes temas:





Tutorial de marco de datos de PySpark: ¿Qué son los marcos de datos?

Los marcos de datos generalmente se refieren a una estructura de datos, que es de naturaleza tabular. Representa Filas, cada una de las cuales consta de una serie de observaciones. Las filas pueden tener una variedad de formatos de datos ( Heterogéneo ), mientras que una columna puede tener datos del mismo tipo de datos ( Homogéneo ). Los marcos de datos suelen contener algunos metadatos además de los datos, por ejemplo, nombres de columnas y filas.

Dataframe-Pyspark-Dataframe-Tutorial



Podemos decir que los marcos de datos no son más que una estructura de datos bidimensional, similar a una tabla SQL o una hoja de cálculo. Ahora sigamos adelante con este Tutorial de marco de datos de PySpark y entendamos por qué exactamente necesitamos Pyspark Dataframe.

¿Por qué necesitamos Dataframes?

1.Procesamiento de datos estructurados y semiestructurados



Marcos de datosestán diseñados para procesara grande recopilación de datos estructurados y semiestructurados . Las observaciones en Spark DataFrame están organizadas en columnas con nombre, lo que ayuda a Apache Spark a comprender el esquema de un DataFrame. Esto ayuda a Spark a optimizar el plan de ejecución de estas consultas. También puede manejar Petabytes de datos.

2.S picar y cortar en cubitos

Marco de datos ALos IP generalmente apoyan métodos elaborados para tajando y cortando los datos. Incluyeoperaciónns como 'seleccionar' filas, columnas y celdas por nombre o por número, filtrar filas, etc. Los datos estadísticos suelen ser muy desordenados y contienen muchos valores perdidos o incorrectos y violaciones de rango. Por tanto, una característica de vital importancia de los marcos de datos es la gestión explícita de los datos faltantes.

3.Fuentes de datos

DataFrame es compatible con una amplia gama de formatos y fuentes de datos; veremos esto más adelante en este blog del tutorial de Pyspark Dataframe. Pueden tomar datos de varias fuentes.

4.Soporte para múltiples idiomas

Tiene soporte API para diferentes lenguajes como Python, R, Scala, Java,lo que hace que sea más fácil de usar por personas con diferentes antecedentes de programación.

Suscríbete a nuestro canal de youtube para recibir nuevas actualizaciones ..!

Características de los marcos de datos

  • Los marcos de datos son Repartido en la naturaleza, lo que la convierte en una estructura de datos de alta disponibilidad y tolerancia a fallos.
  • Evaluación perezosa es una estrategia de evaluación que retiene la evaluación de una expresión hasta que se necesita su valor. Evita evaluaciones repetidas. La evaluación diferida en Spark significa que la ejecución no comenzará hasta que se active una acción. En Spark, la imagen de la evaluación diferida surge cuando ocurren las transformaciones de Spark.
  • Los marcos de datos son Inmutable en naturaleza. Por inmutable quiero decir que es un objeto cuyo estado no se puede modificar después de que se crea.Pero podemos transformarnossusvalores aplicandoun ciertotransformación, como en los RDD.

Fuentes de marcos de datos de PySpark

Los marcos de datos en Pyspark se pueden crear de varias formas:

Los datos se pueden cargar a través de un CSV, JSON, XML o una lima de parquet. También se puede crear utilizando un RDD y a través de cualquier otra base de datos, como Colmena o Casandra también. También puede recibir datos de HDFS o del sistema de archivos local.

Creación de marcos de datos

Avancemos con este blog del tutorial de marco de datos de PySpark y entendamos cómo crear marcos de datos.

Crearemos instancias de Empleado y Departamento.

from pyspark.sql import * Empleado = Fila ('nombre', 'apellido', 'correo electrónico', 'salario') empleado1 = Empleado ('Basher', 'armbrust', 'bash@edureka.co', 100000) empleado2 = Empleado ('Daniel', 'meng', 'daniel@stanford.edu', 120000) empleado3 = Empleado ('Muriel', Ninguno, 'muriel@waterloo.edu', 140000) empleado4 = Empleado ('Rachel', 'wendell ',' rach_3@edureka.co ', 160000) employee5 = Employee (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) print (Employee [0]) print (employee3) department1 = Row (id = '123456', nombre = 'HR') departamento2 = Fila (id = '789012', nombre = 'OPS') departamento3 = Fila (id = '345678', nombre = 'FN') departamento4 = Fila (id = ' 901234 ', nombre =' DEV ')

A continuación, crearemos una instancia DepartmentWithEmployees a partir de Employee y Departments

departmentWithEmployees1 = Fila (departamento = departamento1, empleados = [empleado1, empleado2, empleado5]) departamentoConEmpleados2 = Fila (departamento = departamento2, empleados = [empleado3, empleado4]) departamentoConEmpleados3 = Fila (departamento = departamento3, empleados = [empleado1, empleado4, empleado3 ]) departmentWithEmployees4 = Fila (departamento = departamento4, empleados = [empleado2, empleado3])

Creemos nuestro marco de datos a partir de la lista de filas

DepartmentWithEmployees_Seq = [departmentWithEmployees1, departmentWithEmployees2] dframe = spark.createDataFrame (departmentsWithEmployees_Seq) display (dframe) dframe.show ()

Ejemplo 1 de marcos de datos de Pyspark: conjunto de datos de la Copa Mundial de la FIFA

Aquí hemos tomado el conjunto de datos de jugadores de la Copa Mundial de la FIFA. Vamos a cargar estos datos que están en formato CSV.en unamarco de datos y luego aprenderemos sobre las diferentes transformaciones y acciones que se pueden realizar en este marco de datos.

Leer datos de un archivo CSV

Carguemos los datos de un archivo CSV. Aquí vamos a utilizar el spark.read.csv método para cargar los datos en un marco de datos fifa_df. El método real es spark.read.format [csv / json] .

fifa_df = spark.read.csv ('ruta-de-archivo / fifa_players.csv', inferSchema = True, header = True) fifa_df.show ()

Esquema de marco de datos

Para echar un vistazo al esquema, es decir. la estructura del marco de datos, usaremos el printSchema método. Esto nos dará las diferentes columnas en nuestro marco de datos junto con el tipo de datos y las condiciones anulables para esa columna en particular.

fifa_df.printSchema ()

Nombres de columna y recuento (filas y columna)

Cuando queremos echar un vistazo a los nombres y un recuento del número de filas y columnas de un marco de datos en particular, usamos los siguientes métodos.

fifa_df.columns // Nombres de columnas fifa_df.count () // Recuento de filas len (fifa_df.columns) // Recuento de columnas

37784 8

Describir una columna en particular

Si queremos echar un vistazo al resumen de cualquier columna en particular de un Dataframe, usamos el describe método. Este método nos da el resumen estadístico de la columna dada, si no se especifica, proporciona el resumen estadístico del marco de datos.

es-a y tiene-una relación en java
fifa_df.describe ('Nombre del entrenador'). show () fifa_df.describe ('Posición'). show ()

Seleccionar varias columnas

Si queremos seleccionar columnas particulares del marco de datos, usamos el Seleccione método.

fifa_df.select ('Nombre del jugador', 'Nombre del entrenador'). show ()

Selección de varias columnas distintas

fifa_df.select ('Nombre del jugador', 'Nombre del entrenador'). different (). show ()

Filtrar datos

Para filtrar los datos, según la condición especificada, utilizamos el filtrar mando. Aquí estamos filtrando nuestro marco de datos en función de la condición de que Match ID debe ser igual a 1096 y luego estamos calculando cuántos registros / filas hay en la salida filtrada.

fifa_df.filter (fifa_df.MatchID == '1096'). show () fifa_df.filter (fifa_df.MatchID == '1096'). count () // para obtener el recuento

Filtrar datos (varios parámetros)

Podemos filtrar nuestros datos en función de múltiples condiciones (Y u O)

fifa_df.filter ((fifa_df.Position == 'C') && (fifa_df.Event == 'G40' ')). show ()

Clasificación de datos (OrderBy)

Para ordenar los datos usamos el OrderBy método. De forma predeterminada, se ordena en orden ascendente, pero también podemos cambiarlo a orden descendente.

fifa_df.orderBy (fifa_df.MatchID) .show ()

Ejemplo 2 de marcos de datos de PySpark: conjunto de datos de superhéroes

Cargando los datos

Aquí cargaremos los datos de la misma forma que lo hicimos anteriormente.

Superhero_df = spark.read.csv ('ruta de archivo / superheros.csv', inferSchema = True, header = True) Superhero_df.show (10)

Filtrar los datos

Superhero_df.filter (Superhero_df.Gender == 'Male'). Count () // Male Heros Count Superhero_df.filter (Superhero_df.Gender == 'Female'). Count () // Female Heros Count

Agrupar los datos

Agrupar por se utiliza para agrupar el marco de datos en función de la columna especificada. Aquí, estamos agrupando el marco de datos en función de la columna Raza y luego con el contar función, podemos encontrar el recuento de la carrera en particular.

Race_df = Superhero_df.groupby ('Raza') .count () .show ()

Realización de consultas SQL

También podemos pasar consultas SQL directamente a cualquier marco de datos, para eso necesitamos crear una tabla a partir del marco de datos usando el registerTempTable método y luego use el sqlContext.sql () para pasar las consultas SQL.

Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('seleccionar * de superhero_table'). Show ()

sqlContext.sql ('seleccione distinto (Eye_color) de superhero_table'). show ()

sqlContext.sql ('seleccione distinto (Eye_color) de superhero_table'). count ()

23

sqlContext.sql ('seleccione max (Peso) de superhero_table'). show ()

Y con esto, llegamos al final de este Tutorial de marco de datos de PySpark.

¡Así que esto es todo, chicos!

Espero que tengan una idea de lo que es PySpark Dataframe, por qué se usa en la industria y sus características en este Blog Tutorial de PySpark Dataframe. Felicitaciones, ya no eres un novato en Dataframes. Si desea obtener más información sobre PySpark y comprender los diferentes casos de uso de la industria, eche un vistazo a nuestra Spark con Python y PySpark Tutorial Blog.