In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame.
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 () viene utilizzato per aggiungere 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 PYSPRK
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:
Se vogliamo visualizzare lo schema di dati dati, allora dobbiamo utilizzare il metodo dello schema.
Ciò restituirà il tipo di dati dati insieme alle colonne
Sintassi:
DataFrame. schema
Se vogliamo visualizzare i campi, allora dobbiamo usare i campi con lo schema
Sintassi:
DataFrame. schema.campi
Esempio 2
In questo esempio, visualizzeremo lo schema del frame dati
#IMPORT Il modulo PYSPRK
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
Stampa (df.schema)
Produzione:
[Structfield (Rollno, StringType, True), Strucfield (Nome, StringType, True), Strucfield (età, integertype, true), strucfield (altezza, floattype, true), structfield (peso, integertype, true), strucfield (indirizzo, StringType, true)]
Esempio 3
In questo esempio, visualizzeremo i campi dello schema del frame dati utilizzando lo schema.campi
#IMPORT Il modulo PYSPRK
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 i campi dello schema
Stampa (df.schema.campi)
Produzione:
[Structfield (Rollno, StringType, True), Strucfield (Nome, StringType, True), Strucfield (età, integertype, true), strucfield (altezza, floattype, true), structfield (peso, integertype, true), strucfield (indirizzo, StringType, true)]
Possiamo anche usare il metodo Printschema () per visualizzare lo schema in formato albero
Sintassi:
DataFrame.printschema ()
Esempio 4:
Visualizza lo schema in formato albero con il metodo Printschema ()
#IMPORT Il modulo PYSPRK
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: