Pyspark - SQL blir med

Pyspark - SQL blir med
I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame.

I Pyspark brukes SQL -sammenføyninger til å bli med i to eller flere Dataframes basert på den gitte tilstanden. Vi trenger bare å passere en SQL -spørring for å utføre forskjellige sammenføyninger på Pyspark DataFrames. Gnist.SQL () brukes til å utføre SQL -bli med i Pyspark. Før det må vi lage en midlertidig visning for de to Pyspark DataFrames ved hjelp av CreateRrePlacetempView () -metoden. På denne måten kan vi utføre SQL -sammenføyninger.

Syntaks:

Dataramme.createorRePlacetempView (“View_name”)

Hvor:

  1. DataFrame er Pyspark DataFrame.
  2. View_name er det midlertidige navnet på DataFrame.

Det er forskjellige sammenføyninger som brukes på de to Pyspark DataFrames. Før vi skal kjenne disse typene, la oss lage to Pyspark DataFrames.

Første DataFrame:

I det følgende eksemplet skal vi opprette PySpark DataFrame med 5 rader og 6 kolonner med studenters personopplysninger og visning ved hjelp av Show () -metode:

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ("Linuxhint ').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi' ',' Age ': 16,' Height ': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Dataramme
df.forestilling()

Produksjon:

Andre dataaframe

I det følgende eksemplet skal vi lage PySpark DataFrame med 5 rader og 3 kolonner med studentmerkerdata og vise ved hjelp av Show () -metoden:

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ['rollno': '001', 'emne1': 78, 'emne2': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Dataramme
DF2.forestilling()

Produksjon:

Observasjon:

Fra de to Dataframes har vi observert at Rollno er kolonnen som er vanlig i begge DataFrames. Så vi kan bruke tilstanden på denne kolonnen. Radene - 001, 002, 004 og 005 - Match i begge Dataframes.

Indre sammenføyning

Indre sammenføyning resulterer i DataFrame ved å velge bare de matchende radene fra to DataFrames.
Nøkkelordet som brukes er "indre", som er standardkjøringen.

Syntaks:

gnist.SQL (velg * fra v1 indre sammenføyning V2 på v1.kolonne_name == v2.kolonne_navn)

Hvor:

  1. * refererer til å velge alle kolonnene fra begge dataframene.
  2. V1 refererer til den midlertidige visningen for den første dataaframe.
  3. V2 refererer til den midlertidige visningen for den andre DataFrame.
  4. Kolonne_navn er kolonnen som eksisterer vanlig (vanlige rader) i begge Dataframes. (Basert på denne kolonnen vil vi utføre sammenføyningsoperasjonen)

Eksempel:

I dette eksemplet bruker vi det indre med på nøkkelordet for å bli med i begge DataFrames. Så resultatet vil være 001, 002, 004 og 005 rader. Fordi de er vanlige i begge DataFrames i Rollno -kolonnen. Til slutt bruker vi Show () -metoden for å vise den sammenføyede Pyspark DataFrame.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ("Linuxhint ').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, "adresse": 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ["rollno ':' 001 ',' emne1 ': 78,' emne2 ': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Lag visning for DF med navn som student
df.createorReplacetempView ("Student")
# Lag visning for DF2 med navn som merker
DF2.createorReplacetempView ("Marks")
# Utfør indre sammenføyning
gnist.SQL ("Velg * fra Student Inner Join Marks on Student.rollno == merker.Rollno ").forestilling()

Produksjon:

Venstre bli med

Venstre sammenføyningsresultater i DataFrame ved å velge alle rader fra den første DataFrame og bare matchende rader fra den andre DataFrame med hensyn til radene i den første DataFrame.

Syntaks:

gnist.SQL (velg * fra v1 venstre bli med v2 på v1.kolonne_name == v2.kolonne_navn)

Hvor:

  1. * refererer til å velge alle kolonnene fra begge DataFrames.
  2. V1 refererer til den midlertidige visningen for den første dataaframe.
  3. V2 refererer til den midlertidige visningen for den andre DataFrame.
  4. Kolonne_navn er kolonnen som eksisterer vanlig (vanlige rader) i begge DataFrames. (Basert på denne kolonnen vil vi utføre sammenføyningsoperasjonen)

Eksempel:

I dette eksemplet bruker vi det venstre med på nøkkelord for å bli med i begge DataFrames. Så resultatet vil være 001,002, 003, 004 og 005 rader fra de første dataFrame og 001, 002, 004 og 005 rader fra den andre DataFrame. Rad 007 i den andre DataFrame er ikke matchet med noen av radene i den første DataFrame. Så null vil bli lagt til i denne raden. Til slutt bruker vi Show () -metoden for å vise den sammenføyede Pyspark DataFrame.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ['rollno': '001', 'emne1': 78, 'emne2': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Lag visning for DF med navn som student
df.createorReplacetempView ("Student")
# Lag visning for DF2 med navn som merker
DF2.createorReplacetempView ("Marks")
# Utfør venstre sammen
gnist.SQL ("Velg * fra Student Left Join Marks on Student.rollno == merker.Rollno ").forestilling()

Produksjon:

Venstre ytre sammenføyning

Venstre ytre sammenføyningsresultater i DataFrame ved å velge alle rader fra den første DataFrame og bare matchende rader fra den andre DataFrame med hensyn til radene i den første DataFrame. Det ligner på venstre sammen.

Syntaks:

gnist.SQL (velg * fra V1 venstre ytre sammenføyning V2 på V1.kolonne_name == v2.kolonne_navn)

Hvor:

  1. * refererer til å velge alle kolonnene fra begge DataFrames.
  2. V1 refererer til den midlertidige visningen for den første dataaframe.
  3. V2 refererer til den midlertidige visningen for den andre DataFrame.
  4. Kolonne_navn er kolonnen som eksisterer vanlig (vanlige rader) i begge DataFrames. (Basert på denne kolonnen vil vi utføre sammenføyningsoperasjonen)

Eksempel:
I dette eksemplet bruker vi det venstre ytre sammen med nøkkelord for å bli med i begge DataFrames. Så resultatet vil være 001, 002, 003, 004 og 005 rader fra de første dataFrame og 001, 002, 004 og 005 rader fra den andre DataFrame. ROW 007 I den andre DataFrame er ikke matchet med noen rad i den første DataFrame. Så null vil bli lagt til i denne raden. Til slutt bruker vi Show () -metoden for å vise den sammenføyede Pyspark DataFrame.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ['rollno': '001', 'emne1': 78, 'emne2': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Lag visning for DF med navn som student
df.createorReplacetempView ("Student")
# Lag visning for DF2 med navn som merker
DF2.createorReplacetempView ("Marks")
# Utfør venstre ytre sammenføyning
gnist.SQL ("Velg * fra Student Left Outer Join Marks on Student.rollno == merker.Rollno ").forestilling()

Produksjon:

Høyre bli med

Right Join resulterer i DataFrame ved å velge alle rader fra den andre DataFrame og bare matchende rader fra den første DataFrame med hensyn til radene i den andre DataFrame. Det plasserer null Verdier for de uovertrufne radene i den første DataFrame.

Syntaks:

gnist.SQL (velg * fra v1 høyre sammen med v2 på v1.kolonne_name == v2.kolonne_navn)

Hvor:

  1. * refererer til å velge alle kolonnene fra begge DataFrames.
  2. V1 refererer til den midlertidige visningen for den første dataaframe.
  3. V2 refererer til den midlertidige visningen for den andre DataFrame.
  4. Kolonne_navn er kolonnen som eksisterer vanlig (vanlige rader) i begge DataFrames. (Basert på denne kolonnen vil vi utføre sammenføyningsoperasjonen)

Eksempel:

I dette eksemplet bruker vi rett til nøkkelord for å bli med i begge dataframene. Så resultatet vil være 001, 002, 007, 004 og 005 rader fra den andre DataFrame og 001, 002, 004 og 005 rader fra det første DataFrame. ROW 003 I FIRST DATAFRAME er ikke matchet med noen av raden i den andre DataFrame. Så null vil bli lagt til i denne raden. Til slutt bruker vi Show () -metoden for å vise den sammenføyede Pyspark DataFrame.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ['rollno': '001', 'emne1': 78, 'emne2': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Lag visning for DF med navn som student
df.createorReplacetempView ("Student")
# Lag visning for DF2 med navn som merker
DF2.createorReplacetempView ("Marks")
# Utfør riktig bli med
gnist.SQL ("Velg * fra Student Right Join Marks on Student.rollno == merker.Rollno ").forestilling()

Produksjon:

Høyre ytre sammenføyning

Høyre ytre sammenføyning resulterer i DataFrame ved å velge alle rader fra den andre DataFrame og bare matchende rader fra den første DataFrame med hensyn til radene i den andre DataFrame. Det plasserer null Verdier for de uovertrufne radene i den første DataFrame. Det ligner på høyre sammenføyning.

Syntaks:
gnist.SQL (velg * fra v1 høyre ytre sammenføyning V2 på v1.kolonne_name == v2.kolonne_navn)

Hvor:

  1. * refererer til å velge alle kolonnene fra begge DataFrames.
  2. V1 refererer til den midlertidige visningen for den første dataaframe.
  3. V2 refererer til den midlertidige visningen for den andre DataFrame.
  4. Kolonne_navn er kolonnen som eksisterer vanlig (vanlige rader) i begge DataFrames. (Basert på denne kolonnen vil vi utføre sammenføyningsoperasjonen)

Eksempel:

I dette eksemplet bruker vi høyre ytre med nøkkelord for å bli med i begge dataframene. Så resultatet vil være 001, 002, 007, 004 og 005 rader fra den andre DataFrame og 001, 002, 004 og 005 rader fra det første DataFrame. ROW 003 I FIRST DATAFRAME er ikke matchet med noen av raden i den andre DataFrame. Så null vil bli lagt til i denne raden. Til slutt bruker vi Show () -metoden for å vise den sammenføyede Pyspark DataFrame.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ['rollno': '001', 'emne1': 78, 'emne2': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Lag visning for DF med navn som student
df.createorReplacetempView ("Student")
# Lag visning for DF2 med navn som merker
DF2.createorReplacetempView ("Marks")
# Utfør høyre ytre sammenføyning
gnist.SQL ("Velg * fra Student Right Outer Join Marks on Student.rollno == merker.Rollno ").forestilling()

Produksjon:

Full Join

Full Join resulterer i DataFrame ved å velge alle rader fra begge DataFrames. Det plasserer null Verdier for de uovertrufne radene i begge dataframene over radene.

Syntaks:

gnist.SQL (Velg * fra V1 Full Join V2 på V1.kolonne_name == v2.kolonne_navn)

Hvor:

  1. * refererer til å velge alle kolonnene fra begge DataFrames.
  2. V1 refererer til den midlertidige visningen for den første dataaframe.
  3. V2 refererer til den midlertidige visningen for den andre DataFrame.
  4. Kolonne_navn er kolonnen som eksisterer vanlig (vanlige rader) i begge DataFrames. (Basert på denne kolonnen vil vi utføre sammenføyningsoperasjonen)

Eksempel:

I det følgende eksemplet bruker vi fullt inn i nøkkelord for å bli med i begge DataFrames. Så resultatet vil være fra begge DataFrames.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ['rollno': '001', 'emne1': 78, 'emne2': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Lag visning for DF med navn som student
df.createorReplacetempView ("Student")
# Lag visning for DF2 med navn som merker
DF2.createorReplacetempView ("Marks")
# Utfør Full Join
gnist.SQL ("Velg * fra Student Full Join Marks on Student.rollno == merker.Rollno ").forestilling()

Produksjon:

Full ytre sammenføyning

Full ytre sammenføyning resulterer i DataFrame ved å velge alle rader fra DataFrames. Det plasserer null Verdier for de uovertrufne radene i begge dataframene over radene.

Syntaks:

gnist.SQL (velg * fra V1 full ytre sammenføyning V2 på V1.kolonne_name == v2.kolonne_navn)

Hvor:

  1. * refererer til å velge alle kolonnene fra begge DataFrames.
  2. V1 refererer til den midlertidige visningen for den første dataaframe.
  3. V2 refererer til den midlertidige visningen for den andre DataFrame.
  4. Kolonne_navn er kolonnen som eksisterer vanlig (vanlige rader) i begge DataFrames. (Basert på denne kolonnen vil vi utføre sammenføyningsoperasjonen)

Eksempel:

I dette eksemplet bruker vi full ytre med på nøkkelord for å bli med i begge dataframene. Så resultatet vil være fra begge DataFrames.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'Vekt': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Opprett student_marks data med 5 rader og 6 attributter
Students_marks = ['rollno': '001', 'emne1': 78, 'emne2': 98,
'Rollno': '002', 'Subject1': 83, 'Subject2': 69,
'Rollno': '005', 'Subject1': 95, 'Subject2': 90,
'Rollno': '004', 'Subject1': 76, 'Subject2': 100,
'Rollno': '007', 'Subject1': 90, 'Subject2': 91]
# Lag DataFrame
df2 = spark_app.CreateTataFrame (Students_marks)
# Lag visning for DF med navn som student
df.createorReplacetempView ("Student")
# Lag visning for DF2 med navn som merker
DF2.createorReplacetempView ("Marks")
# Utfør full ytre sammenføyning
gnist.SQL ("Velg * fra Student Full Outer Join Marks on Student.rollno == merker.Rollno ").forestilling()

Produksjon:

Konklusjon

I denne artikkelen diskuterte vi fire typer SQL -sammenføyninger utført på Pyspark DataFrame. Vi har sett at venstre sammenføyning ligner venstre ytre sammenføyning; Høyre sammenføyning ligner på høyre ytre sammenføyning; Den fulle sammenføyningen ligner på full ytre sammenføyning. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og opplæringsprogrammer.