PysPark - Printschema

PysPark - Printschema
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. Il metodo Printschema () viene utilizzato per visualizzare lo schema del Frame dati Pyspark.

Restituirà la struttura simile a un albero e otterrà il nome della colonna insieme a DateType

Sintassi:

DataFrame.printschema ()

Prima di andare a vedere questo, dobbiamo creare un telaio di dati con lo schema. PysPark fornisce i metodi StructType () e Structfield () che vengono utilizzati per definire le colonne nel frame dati PysPark.

Usando questi metodi, possiamo definire i nomi delle colonne e i tipi di dati delle colonne particolari.

Discutiamo uno per uno

StructType ()

Questo metodo viene utilizzato per definire la struttura del frame dati pyspark. Accetterà un elenco di tipi di dati insieme ai nomi delle colonne per il determinato dati di dati. Questo è noto come lo schema del telaio. Memorizza una collezione di campi

StructField ()

Questo metodo viene utilizzato all'interno del metodo structType () del Frame dati Pyspark. Accetterà i nomi delle colonne con il tipo di dati.

Sintassi:

schema = structType ([
Structfield ("colonna 1", tipo di dati, true/false),
Structfield ("colonna 2", tipo di dati, true/false),
.. ,
Structfield ("colonna n", tipo di dati, true/false)])

Dove lo schema si riferisce al frame dati quando viene creato

Parametri:

1. StructType accetta un elenco di strumenti in un elenco separato da una virgola

2. Structfield () aggiunge colonne al frame dati, che prende i nomi delle colonne come primo parametro e il tipo di dati delle colonne particolari come secondo parametro.

Dobbiamo utilizzare i tipi di dati dai metodi importati dal Pyspark.SQL.modulo tipi.

I tipi di dati supportati sono:

  • StringType () - Utilizzato per archiviare i valori di stringa
  • IntegerType () - Utilizzato per archiviare i valori interi o interi lunghi
  • Floattype () - usato per archiviare i valori float
  • DoubleType () - Utilizzato per archiviare i doppi valori

3. Valori booleani come terzo parametro; Se è vero, verrà utilizzato il tipo di dati dato; Altrimenti, non quando è falso.

Dobbiamo passare questo schema al metodo DataFrame insieme ai dati.

Sintassi:

CreatedAtaFrame (Data, Schema = Schema)

Esempio 1:

In questo esempio, abbiamo creato dati all'interno dell'elenco che contiene 5 righe e 6 colonne e stiamo assegnando i nomi delle colonne come rollno con il tipo di dati stringa, un nome con il tipo di dati stringa, età con tipo intero, altezza con un tipo di galleggiante , peso con intero e indirizzo con il tipo di dati stringa.

Infine, visualizzeremo il frame dati utilizzando il metodo show ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#e importanti tipi di strutture e tipi di dati
da pyspark.SQL.Tipi Import StrucTType, Structfield, StringType, IntegerType, Floattype
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [['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 The StructType e Structfields
#per i nomi di colonne di seguito
schema = structType ([
Structfield ("rollno", StringType (), true),
StructField ("Name", StringType (), True),
Structfield ("Age", IntegerType (), True),
Structfield ("altezza", floattype (), true),
Structfield ("peso", integertype (), true),
StructField ("indirizzo", StringType (), true)
])
#Crea dati e aggiungi lo schema al frame dati
df = spark_app.CreatedAtaFrame (Students, Schema = Schema)
#display il frame dati
df.spettacolo()

Produzione:

Esempio 2:

Visualizza lo schema in formato albero con il metodo Printschema ()

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#e importanti tipi di strutture e tipi di dati
da pyspark.SQL.Tipi Import StrucTType, Structfield, StringType, IntegerType, Floattype
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [['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 The StructType e Structfields
#per i nomi di colonne di seguito
schema = structType ([
Structfield ("rollno", StringType (), true),
StructField ("Name", StringType (), True),
Structfield ("Age", IntegerType (), True),
Structfield ("altezza", floattype (), true),
Structfield ("peso", integertype (), true),
StructField ("indirizzo", StringType (), true)
])
#Crea dati e aggiungi lo schema al frame dati
df = spark_app.CreatedAtaFrame (Students, Schema = Schema)
# Visualizza lo schema in formato albero
df.printschema ()

Produzione: