Pyspark - Printschema

Pyspark - Printschema
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame. El método PrintSchema () se utiliza para mostrar el esquema del PySpark DataFrame.

Devolverá la estructura similar al árbol y obtendrá el nombre de la columna junto con el tipo de datos

Sintaxis:

Marco de datos.printschema ()

Antes de ver esto, tenemos que crear un marco de datos con esquema. Pyspark proporciona los métodos structtype () y structfield () que se utilizan para definir las columnas en el marco de datos de Pyspark.

Usando estos métodos, podemos definir los nombres de la columna y los tipos de datos de las columnas particulares.

Discutamos uno por uno

Structtype ()

Este método se utiliza para definir la estructura del marco de datos de Pyspark. Aceptará una lista de tipos de datos junto con los nombres de columnas para el marco de datos dado. Esto se conoce como el esquema del DataFrame. Almacena una colección de campos

Structfield ()

Este método se utiliza dentro del método structtype () del Pyspark DataFrame. Aceptará nombres de columnas con el tipo de datos.

Sintaxis:

esquema = structtype ([[
Structfield ("columna 1", tipo de datos, verdadero/falso),
Structfield ("columna 2", tipo de datos, verdadero/falso),
… ,
Structfield ("columna n", dataType, true/false)])

Donde el esquema se refiere al marco de datos cuando se crea

Parámetros:

1. Structtype acepta una lista de structfields en una lista separada por una coma

2. Structfield () agrega columnas al DataFrame, que toma los nombres de columnas como el primer parámetro y el tipo de datos de las columnas particulares como el segundo parámetro.

Tenemos que usar los tipos de datos de los métodos que se importan del Pyspark.sql.Módulo de tipos.

Los tipos de datos admitidos son:

  • StringType () - Se utiliza para almacenar valores de cadena
  • Integertype () - Se utiliza para almacenar valores enteros o enteros largos
  • FloatType () - Se utiliza para almacenar valores de flotación
  • DoubleType () - Se utiliza para almacenar valores dobles

3. Valores booleanos como el tercer parámetro; Si es verdadero, se utilizará el tipo de datos dado; De lo contrario, no cuando es falso.

Tenemos que pasar este esquema al método DataFrame junto con los datos.

Sintaxis:

creatataFrame (datos, esquema = esquema)

Ejemplo 1:

En este ejemplo, creamos datos dentro de la lista que contiene 5 filas y 6 columnas, y estamos asignando nombres de columnas como ROLLNO con el tipo de datos de cadena, un nombre con el tipo de datos de cadena, edad con tipo entero, altura con un tipo flotante , peso con entero y dirección con el tipo de datos de cadena.

Finalmente, vamos a mostrar DataFrame usando el método show ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#e importar tipos de estructura y tipos de datos
de Pyspark.sql.tipos import structtType, structfield, stringType, integertype, floattype
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [['001', 'Sravan', 23,5.79,67, 'Guntur'],
['002', 'ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'Patna'],
['004', 'rohith', 9,3.69,28, 'Hyd'],
['005', 'Sridevi', 37,5.59,54, 'hyd']]
#Define el structtype y structfields
#Para los nombres de la columna a continuación
esquema = structtype ([[
Structfield ("rollno", stringType (), verdadero),
Structfield ("name", stringType (), verdadero),
Structfield ("edad", integertype (), verdadero),
Structfield ("altura", floatType (), verdadero),
Structfield ("peso", integertype (), verdadero),
Structfield ("dirección", stringType (), verdadero)
])
#Cree el DataFrame y agregue esquema a DataFrame
DF = Spark_App.CreatedAtaFrame (estudiantes, esquema = esquema)
#Disprazando el marco de datos
df.espectáculo()

Producción:

Ejemplo 2:

Muestra el esquema en formato de árbol con el método PrintSchema ()

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#e importar tipos de estructura y tipos de datos
de Pyspark.sql.tipos import structtType, structfield, stringType, integertype, floattype
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = [['001', 'Sravan', 23,5.79,67, 'Guntur'],
['002', 'ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'Patna'],
['004', 'rohith', 9,3.69,28, 'Hyd'],
['005', 'Sridevi', 37,5.59,54, 'hyd']]
#Define el structtype y structfields
#Para los nombres de la columna a continuación
esquema = structtype ([[
Structfield ("rollno", stringType (), verdadero),
Structfield ("name", stringType (), verdadero),
Structfield ("edad", integertype (), verdadero),
Structfield ("altura", floatType (), verdadero),
Structfield ("peso", integertype (), verdadero),
Structfield ("dirección", stringType (), verdadero)
])
#Cree el DataFrame y agregue esquema a DataFrame
DF = Spark_App.CreatedAtaFrame (estudiantes, esquema = esquema)
# Muestra el esquema en formato de árbol
df.printschema ()

Producción: