Pyspark - SQL si unisce

Pyspark - SQL si unisce
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame.

In PysPark, i join SQL vengono utilizzati per unirsi a due o più frame di dati in base alla condizione data. Dobbiamo solo passare una query SQL per eseguire diversi join sui dati di dati PysPark. Scintilla.SQL () viene utilizzato per eseguire SQL join in pyspark. Prima di allora, dobbiamo creare una vista temporanea per il metodo di dati PysPark utilizzando CreaRreReplaceTempView (). Su questo punto di vista, possiamo eseguire join SQL.

Sintassi:

DataFrame.CreateReRepLeMpview ("View_name")

Dove:

  1. DataFrame è PysPark DataFrame.
  2. View_Name è il nome temporaneo per il frame dati.

Ci sono diversi join che vengono applicati sui due dati di dati Pyspark. Prima di conoscere questi tipi, creiamo due dati di dati pyspark.

Primo frame dati:

Nel seguente esempio, creeremo il Frame dati PysPark con 5 righe e 6 colonne con dati personali degli studenti e visualizzano il metodo show ():

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ("LinuxHint").getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi' ',' age ': 16,' altezza ': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# DataFrame
df.spettacolo()

Produzione:

Secondo frame dati

Nell'esempio seguente, creeremo il Frame dati PysPark con 5 righe e 3 colonne con i dati dei segni degli studenti e visualizzando utilizzando il metodo show ():

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ['rollno': '001', 'soggetto1': 78, 'soggetto2': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# DataFrame
df2.spettacolo()

Produzione:

Osservazione:

Dai due frame dati, abbiamo osservato che Rollno è la colonna che è comune in entrambi i frame dati. Quindi, possiamo applicare la condizione a questa colonna. Le righe - 001, 002, 004 e 005 - corrispondono a entrambi i gesti di dati.

Unisciti interni

Il join interno risulta nel frame dati selezionando solo le righe corrispondenti da due frame dati.
La parola chiave utilizzata è "interno", che è il join predefinito.

Sintassi:

scintilla.SQL (Seleziona * da V1 Join V2 su V1.column_name == v2.column_name)

Dove:

  1. * si riferisce alla selezione di tutte le colonne da entrambi i frame dati.
  2. V1 si riferisce alla vista temporanea per il primo frame dati.
  3. V2 si riferisce alla vista temporanea per il secondo frame dati.
  4. Column_name è la colonna che esiste comune (righe comuni) in entrambi i frame dati. (Basato su questa colonna, eseguiremo l'operazione di join)

Esempio:

In questo esempio, stiamo utilizzando la parola chiave di join interner per unire entrambi i frame dati. Quindi, il risultato sarà 001, 002, 004 e 005 righe. Perché sono comuni in entrambi i gesti di dati nella colonna Rollno. Infine, stiamo applicando il metodo Show () per visualizzare il Frame dati PysPark unito.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ("LinuxHint").getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, "indirizzo": 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ["rollno ':' 001 ',' soggetto ': 78,' soggetto2 ': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# Crea vista per DF con nomi come studente
df.Crea CreaRrePlaceTempview ("Studente")
# Crea vista per DF2 con nomi come segni
df2.Crea CreaRrePlaceTempView ("Marks")
# Esegui un join interiore
scintilla.SQL ("Seleziona * da Student Intenner Union Marks su Student.rollno == segni.rollno ").spettacolo()

Produzione:

Sinistra uni

Il join a sinistra risulta nel frame dati selezionando tutte le righe dal primo frame dati e corrisponde solo alle righe dal secondo frame dati rispetto alle righe nel primo frame dati.

Sintassi:

scintilla.SQL (selezionare * da V1 sinistra join v2 su v1.column_name == v2.column_name)

Dove:

  1. * si riferisce a selezionare tutte le colonne da entrambi i frame dati.
  2. V1 si riferisce alla vista temporanea per il primo frame dati.
  3. V2 si riferisce alla vista temporanea per il secondo frame dati.
  4. column_name è la colonna che esiste comune (righe comuni) in entrambi i frame dati. (Basato su questa colonna, eseguiremo l'operazione di join)

Esempio:

In questo esempio, stiamo utilizzando la parola chiave di join a sinistra per unire entrambi i frame dati. Quindi, il risultato sarà 001.002, 003, 004 e 005 righe dal primo frame dati e 001, 002, 004 e 005 righe dal secondo frame dati di dati. La riga 007 nel secondo frame dati non è abbinata a nessuna delle righe nel primo frame dati. Quindi, Null verrà aggiunto in questa riga. Infine, stiamo applicando il metodo Show () per visualizzare il Frame dati PysPark unito.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ['rollno': '001', 'soggetto1': 78, 'soggetto2': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# Crea vista per DF con nomi come studente
df.Crea CreaRrePlaceTempview ("Studente")
# Crea vista per DF2 con nomi come segni
df2.Crea CreaRrePlaceTempView ("Marks")
# Esegui un join a sinistra
scintilla.SQL ("Seleziona * da Student Left Marks su Student.rollno == segni.rollno ").spettacolo()

Produzione:

Unisci esterno sinistro

Il join esterno a sinistra risulta nel frame dati selezionando tutte le righe dal primo frame dati e corrisponde solo alle righe dal secondo frame dati rispetto alle righe nel primo frame dati. È simile al sinistra.

Sintassi:

scintilla.SQL (selezionare * da V1 sinistra join v2 su v1.column_name == v2.column_name)

Dove:

  1. * si riferisce a selezionare tutte le colonne da entrambi i frame dati.
  2. V1 si riferisce alla vista temporanea per il primo frame dati.
  3. V2 si riferisce alla vista temporanea per il secondo frame dati.
  4. column_name è la colonna che esiste comune (righe comuni) in entrambi i frame dati. (Basato su questa colonna, eseguiremo l'operazione di join)

Esempio:
In questo esempio, stiamo utilizzando la parola chiave di join esterna sinistra per unire entrambi i frame dati. Quindi, il risultato sarà 001, 002, 003, 004 e 005 righe dal primo frame dati e 001, 002, 004 e 005 righe dal secondo frame dati. La riga 007 nel secondo frame dati non è abbinata a nessuna riga nel primo frame dati. Quindi, Null verrà aggiunto in questa riga. Infine, stiamo applicando il metodo Show () per visualizzare il Frame dati PysPark unito.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ['rollno': '001', 'soggetto1': 78, 'soggetto2': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# Crea vista per DF con nomi come studente
df.Crea CreaRrePlaceTempview ("Studente")
# Crea vista per DF2 con nomi come segni
df2.Crea CreaRrePlaceTempView ("Marks")
# Esegui un join a sinistra esterno
scintilla.SQL ("Seleziona * da Student Left Outer Marks su Student.rollno == segni.rollno ").spettacolo()

Produzione:

Giusti a destra

Il join a destra risulta nel frame dati selezionando tutte le righe dal secondo frame dati e corrisponde solo alle righe dal primo frame dati rispetto alle righe nel secondo frame dati. Posa nullo Valori per le righe senza pari nel primo frame dati.

Sintassi:

scintilla.SQL (Seleziona * da V1 Giunta a destra V2 su V1.column_name == v2.column_name)

Dove:

  1. * si riferisce a selezionare tutte le colonne da entrambi i frame dati.
  2. V1 si riferisce alla vista temporanea per il primo frame dati.
  3. V2 si riferisce alla vista temporanea per il secondo frame dati.
  4. column_name è la colonna che esiste comune (righe comuni) in entrambi i frame dati. (Basato su questa colonna, eseguiremo l'operazione di join)

Esempio:

In questo esempio, stiamo utilizzando la parola chiave join destro per unire entrambi i frame dati. Quindi, il risultato sarà 001, 002, 007, 004 e 005 righe dal secondo frame dati e 001, 002, 004 e 005 righe dal primo frame dati di dati. La riga 003 nel primo frame dati non è abbinata a nessuna riga nel secondo frame dati. Quindi, Null verrà aggiunto in questa riga. Infine, stiamo applicando il metodo Show () per visualizzare il Frame dati PysPark unito.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ['rollno': '001', 'soggetto1': 78, 'soggetto2': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# Crea vista per DF con nomi come studente
df.Crea CreaRrePlaceTempview ("Studente")
# Crea vista per DF2 con nomi come segni
df2.Crea CreaRrePlaceTempView ("Marks")
# Esegui giunzione giusta
scintilla.SQL ("Seleziona * da Student Right Join Marks su Student.rollno == segni.rollno ").spettacolo()

Produzione:

Giunti esterni destro

Il join esterno destro risulta nel frame dati selezionando tutte le righe dal secondo frame dati e corrisponde solo alle righe dal primo frame dati rispetto alle righe nel secondo frame dati. Posa nullo Valori per le righe senza pari nel primo frame dati. È simile al giusto join.

Sintassi:
scintilla.SQL (Seleziona * da V1 Giusta esterna destra V2 su V1.column_name == v2.column_name)

Dove:

  1. * si riferisce a selezionare tutte le colonne da entrambi i frame dati.
  2. V1 si riferisce alla vista temporanea per il primo frame dati.
  3. V2 si riferisce alla vista temporanea per il secondo frame dati.
  4. column_name è la colonna che esiste comune (righe comuni) in entrambi i frame dati. (Basato su questa colonna, eseguiremo l'operazione di join)

Esempio:

In questo esempio, stiamo utilizzando la parola chiave di join esterne destra per unire entrambi i frame dati. Quindi, il risultato sarà 001, 002, 007, 004 e 005 righe dal secondo frame dati e 001, 002, 004 e 005 righe dal primo frame dati di dati. La riga 003 nel primo frame dati non è abbinata a nessuna riga nel secondo frame dati. Quindi, Null verrà aggiunto in questa riga. Infine, stiamo applicando il metodo Show () per visualizzare il Frame dati PysPark unito.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ['rollno': '001', 'soggetto1': 78, 'soggetto2': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# Crea vista per DF con nomi come studente
df.Crea CreaRrePlaceTempview ("Studente")
# Crea vista per DF2 con nomi come segni
df2.Crea CreaRrePlaceTempView ("Marks")
# Esegui giunzioni esterne giuste
scintilla.sql ("seleziona * dallo studente destro esterno marchi sullo studente.rollno == segni.rollno ").spettacolo()

Produzione:

Unisciti completo

Full join risulta nel frame dati selezionando tutte le righe da entrambi i frame dati. Posa nullo Valori per le righe senza pari in entrambi i gesti di dati attraverso le righe.

Sintassi:

scintilla.SQL (Seleziona * da V1 Full Join V2 su V1.column_name == v2.column_name)

Dove:

  1. * si riferisce a selezionare tutte le colonne da entrambi i frame dati.
  2. V1 si riferisce alla vista temporanea per il primo frame dati.
  3. V2 si riferisce alla vista temporanea per il secondo frame dati.
  4. column_name è la colonna che esiste comune (righe comuni) in entrambi i frame dati. (Basato su questa colonna, eseguiremo l'operazione di join)

Esempio:

Nell'esempio seguente, stiamo utilizzando la parola chiave di join completa per unire entrambi i frame dati. Quindi, il risultato sarà da entrambi i gesti di dati.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ['rollno': '001', 'soggetto1': 78, 'soggetto2': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# Crea vista per DF con nomi come studente
df.Crea CreaRrePlaceTempview ("Studente")
# Crea vista per DF2 con nomi come segni
df2.Crea CreaRrePlaceTempView ("Marks")
# Esegui un join completo
scintilla.SQL ("Seleziona * da Student Full Marks su Student.rollno == segni.rollno ").spettacolo()

Produzione:

Uni esterno completo

Il join esterno completo risulta nel frame dati selezionando tutte le righe dai frame dati. Posa nullo Valori per le righe senza pari in entrambi i gesti di dati attraverso le righe.

Sintassi:

scintilla.SQL (Seleziona * da V1 Full Outter Join V2 su V1.column_name == v2.column_name)

Dove:

  1. * si riferisce a selezionare tutte le colonne da entrambi i frame dati.
  2. V1 si riferisce alla vista temporanea per il primo frame dati.
  3. V2 si riferisce alla vista temporanea per il secondo frame dati.
  4. column_name è la colonna che esiste comune (righe comuni) in entrambi i frame dati. (Basato su questa colonna, eseguiremo l'operazione di join)

Esempio:

In questo esempio, stiamo utilizzando la parola chiave di join esterna completa per unire entrambi i frame dati. Quindi, il risultato sarà da entrambi i gesti di dati.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
# Crea dati Student_Marks con 5 righe e 6 attributi
Students_marks = ['rollno': '001', 'soggetto1': 78, 'soggetto2': 98,
'rollno': '002', 'soggetto1': 83, 'soggetto2: 69,
'rollno': '005', 'soggetto1': 95, 'soggetto 2: 90,
'rollno': '004', 'soggetto1': 76, 'soggetto': 100,
'rollno': '007', 'soggetto1': 90, 'soggetto2: 91]
# Crea il frame dati
df2 = spark_app.CreatedAtaFrame (Students_Marks)
# Crea vista per DF con nomi come studente
df.Crea CreaRrePlaceTempview ("Studente")
# Crea vista per DF2 con nomi come segni
df2.Crea CreaRrePlaceTempView ("Marks")
# Esegui un join esterno completo
scintilla.SQL ("Seleziona * da Student Full Outer Marks su Student.rollno == segni.rollno ").spettacolo()

Produzione:

Conclusione

In questo articolo, abbiamo discusso di quattro tipi di join SQL eseguiti su PysPark DataFrame. Abbiamo visto che il join sinistra è simile al join esterno sinistro; Il giusto join è simile al giusto join esterno; L'ottimo join è simile a quelli completi esterni. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e tutorial.