Pyspark - Printschema

Pyspark - Printschema
I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame. Printschema () -metoden brukes til å vise skjemaet for Pyspark DataFrame.

Det vil returnere den trelignende strukturen og få kolonnenavn sammen med DateType

Syntaks:

Dataramme.Printschema ()

Før vi skal se dette, må vi lage et dataafram med skjema. Pyspark gir strukturer () og structfield () -metoder som brukes til å definere kolonnene i Pyspark DataFrame.

Ved hjelp av disse metodene kan vi definere kolonnenavnene og datatypene til de bestemte kolonnene.

La oss diskutere en etter en

Struktureltype ()

Denne metoden brukes til å definere strukturen til Pyspark DataFrame. Den vil godta en liste over datatyper sammen med kolonnenavn for den gitte DataFrame. Dette er kjent som skjemaet for Dataframe. Den lagrer en samling felt

Structfield ()

Denne metoden brukes inne i strukturen () metoden for Pyspark DataFrame. Den aksepterer kolonnenavn med datatypen.

Syntaks:

skjema = struktureltype ([
Structfield ("kolonne 1", datatype, true/usann),
Structfield ("kolonne 2", datatype, true/usann),
.. ,
Structfield ("kolonne n", datatype, true/usann)))

Der skjema refererer til dataaframe når det opprettes

Parametere:

1. StructType godtar en liste over structfields i en liste atskilt med komma

2. StructField () legger til kolonner til DataFrame, som tar kolonnenavn som den første parameteren og datatypen til de bestemte kolonnene som den andre parameteren.

Vi må bruke datatypene fra metodene som importeres fra Pyspark.SQL.typer modul.

Datatypene som støttes er:

  • StringType () - Brukes til å lagre strengverdier
  • Integertype () - Brukes til å lagre heltall eller lange heltallverdier
  • FloattType () - Brukes til å lagre floatverdier
  • Dubletype () - Brukes til å lagre doble verdier

3. Boolske verdier som den tredje parameteren; Hvis det er sant, vil den gitte datatypen bli brukt; Ellers ikke når det er usant.

Vi må overføre dette skjemaet til DataFrame -metoden sammen med data.

Syntaks:

CreateTataFrame (data, skjema = skjema)

Eksempel 1:

I dette eksemplet opprettet vi data i listen som inneholder 5 rader og 6 kolonner, og vi tilordner kolonnernavn som Rollno med String Data -typen, et navn med strengdatatypen, alder med heltallstype, høyde med en flottørtype , vekt med heltall og adresse med strengdatatypen.

Til slutt skal vi vise DataFrame ved hjelp av Show () -metoden.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#og importerer strukturtyper og datatyper
Fra Pyspark.SQL.typer importerer struktur, strukturfelt, strengtype, integertype, floattype
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [['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']]
#definer strukturen og strukturfeltene
#for kolonnenavn nedenfor
skjema = struktureltype ([
Structfield ("Rollno", StringType (), True),
Structfield ("Navn", StringType (), True),
Structfield ("Alder", Integertype (), True),
Structfield ("høyde", floattype (), true),
Structfield ("Vekt", Integertype (), True),
Structfield ("adresse", strengtype (), true)
])
#skape dataaframe og legge til skjemaet til dataaframe
df = spark_app.CreateTataFrame (studenter, skjema = skjema)
#Display DataFrame
df.forestilling()

Produksjon:

Eksempel 2:

Vis skjemaet i treformat med Printschema () -metode

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#og importerer strukturtyper og datatyper
Fra Pyspark.SQL.typer importerer struktur, strukturfelt, strengtype, integertype, floattype
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = [['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']]
#definer strukturen og strukturfeltene
#for kolonnenavn nedenfor
skjema = struktureltype ([
Structfield ("Rollno", StringType (), True),
Structfield ("Navn", StringType (), True),
Structfield ("Alder", Integertype (), True),
Structfield ("høyde", floattype (), true),
Structfield ("Vekt", Integertype (), True),
Structfield ("adresse", strengtype (), true)
])
#skape dataaframe og legge til skjemaet til dataaframe
df = spark_app.CreateTataFrame (studenter, skjema = skjema)
# Vis skjemaet i treformat
df.Printschema ()

Produksjon: