Pyspark - SQL se junta

Pyspark - SQL se junta
No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame.

Em Pyspark, as junções SQL são usadas para ingressar em dois ou mais quadros de dados com base na condição fornecida. Só precisamos passar por uma consulta SQL para executar junções diferentes nos quadros de dados do Pyspark. Fagulha.SQL () é usado para executar o SQL Junção no Pyspark. Antes disso, temos que criar uma visualização temporária para os dois quadros de dados Pyspark usando o método CreateReplacetempView (). Nesta visão, podemos executar o SQL.

Sintaxe:

quadro de dados.CreateReplacetempView ("View_name")

Onde:

  1. DataFrame é o pyspark DataFrame.
  2. View_name é o nome temporário para o DataFrame.

Existem junções diferentes que são aplicadas nos dois dados de dados do Pyspark. Antes de conhecer esses tipos, vamos criar dois dados de dados Pyspark.

Primeiro DataFrame:

No exemplo a seguir, criaremos o quadro de dados Pyspark com 5 linhas e 6 colunas com dados pessoais e exibir do aluno usando () método:

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ("Linuxhint ').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi' ',' idade ': 16,' altura ': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# quadro de dados
df.mostrar()

Saída:

Segunda DataFrame

No exemplo a seguir, criaremos o quadro de dados do Pyspark com 5 linhas e 3 colunas com dados de marcas do aluno e exibição usando o método show ():

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ['rollno': '001', 'sujeito1': 78, 'sujeito 2': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# quadro de dados
df2.mostrar()

Saída:

Observação:

A partir dos dois quadros de dados, observamos que o Rollno é a coluna que é comum nos dois quadros de dados. Então, podemos aplicar a condição a esta coluna. As linhas - 001, 002, 004 e 005 - correspondem nos dois dados de dados.

JUNÇÃO INTERNA

Resultados de junção interna no DataFrame selecionando apenas as linhas correspondentes de dois dados de dados.
A palavra -chave usada é "interna", que é a junção padrão.

Sintaxe:

fagulha.SQL (SELECT * FRO.column_name == v2.nome da coluna)

Onde:

  1. * refere -se à seleção de todas as colunas de ambos os dados de dados.
  2. v1 refere -se à visão temporária do primeiro dataframe.
  3. V2 refere -se à visão temporária do segundo dados de dados.
  4. Column_name é a coluna que existe comuns (linhas comuns) em ambos os dados de dados. (Com base nesta coluna, realizaremos a operação de junção)

Exemplo:

Neste exemplo, estamos usando a palavra -chave de junção interna para ingressar em ambos os dados de dados. Portanto, o resultado será 001, 002, 004 e 005 linhas. Porque eles são comuns em ambos os quadros de dados na coluna Rollno. Por fim, estamos aplicando o método show () para exibir o pyspark dataframe.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ("Linuxhint ').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, "Endereço ':' Hyd ',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ["rollno ':' 001 ',' sujeito1 ': 78,' sujeito 2 ': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# Crie visualização para DF com nomes como aluno
df.CreateReplacetempView ("Student")
# Crie visualização para DF2 com nomes como marcas
df2.CreateReplacetempView ("Marcas")
# Execute a junção interna
fagulha.SQL ("SELECT * FROM ALUNO INTERNO JONAM.rollno == Marcas.Núm. da lista").mostrar()

Saída:

ASSOCIAÇÃO À ESQUERDA

A junção esquerda resulta no DataFrame selecionando todas as linhas do primeiro DataFrame e apenas linhas correspondentes do segundo quadro de dados em relação às linhas no primeiro DataFrame.

Sintaxe:

fagulha.SQL (selecione * de V1 Lictar V2 na v1 v1.column_name == v2.nome da coluna)

Onde:

  1. * refere -se a selecionar todas as colunas de ambos os dados de dados.
  2. v1 refere -se à visão temporária do primeiro dataframe.
  3. V2 refere -se à visão temporária do segundo dados de dados.
  4. Column_name é a coluna que existe comuns (linhas comuns) em ambos os dados de dados. (Com base nesta coluna, realizaremos a operação de junção)

Exemplo:

Neste exemplo, estamos usando a palavra -chave de junção esquerda para participar de ambos os dados de dados. Portanto, o resultado será de 001.002, 003, 004 e 005 linhas das primeiras linhas DataFrame e 001, 002, 004 e 005 da segunda dataframe. Linha 007 no segundo dataframe não corresponde a nenhuma das linhas no primeiro dataframe. Então, nulo será adicionado nesta linha. Por fim, estamos aplicando o método show () para exibir o pyspark dataframe.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ['rollno': '001', 'sujeito1': 78, 'sujeito 2': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# Crie visualização para DF com nomes como aluno
df.CreateReplacetempView ("Student")
# Crie visualização para DF2 com nomes como marcas
df2.CreateReplacetempView ("Marcas")
# Execute a junção à esquerda
fagulha.SQL ("SELECT * do aluno que deixou as marcas de junta no aluno.rollno == Marcas.Núm. da lista").mostrar()

Saída:

Junho externo esquerdo

A junção externa esquerda resulta no DataFrame, selecionando todas as linhas do primeiro DataFrame e apenas correspondentes a linhas do segundo quadro de dados em relação às linhas no primeiro DataFrame. É semelhante à junta esquerda.

Sintaxe:

fagulha.SQL (selecione * da v1 junção externa esquerda V2 na v1.column_name == v2.nome da coluna)

Onde:

  1. * refere -se a selecionar todas as colunas de ambos os dados de dados.
  2. v1 refere -se à visão temporária do primeiro dataframe.
  3. V2 refere -se à visão temporária do segundo dados de dados.
  4. Column_name é a coluna que existe comuns (linhas comuns) em ambos os dados de dados. (Com base nesta coluna, realizaremos a operação de junção)

Exemplo:
Neste exemplo, estamos usando a palavra -chave de junção externa esquerda para se juntar aos dois dados de dados. Portanto, o resultado será 001, 002, 003, 004 e 005 linhas das primeiras linhas DataFrame e 001, 002, 004 e 005 da segunda dataframe. Linha 007 no segundo dataframe não corresponde a nenhuma linha no primeiro DataFrame. Então, nulo será adicionado nesta linha. Por fim, estamos aplicando o método show () para exibir o pyspark dataframe.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ['rollno': '001', 'sujeito1': 78, 'sujeito 2': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# Crie visualização para DF com nomes como aluno
df.CreateReplacetempView ("Student")
# Crie visualização para DF2 com nomes como marcas
df2.CreateReplacetempView ("Marcas")
# Execute a junção externa esquerda
fagulha.SQL ("SELECT * do aluno esquerdo de junção externa Marcas no aluno.rollno == Marcas.Núm. da lista").mostrar()

Saída:

Junção direita

A junção correta resulta no DataFrame selecionando todas as linhas do segundo quadro de dados e apenas linhas correspondentes a partir do primeiro DataFrame em relação às linhas no segundo DataFrame. Ele coloca nulo Valores para as linhas incomparáveis ​​no primeiro dataframe.

Sintaxe:

fagulha.SQL (selecione * de V1 JOVEN VOLA V2 ON V1.column_name == v2.nome da coluna)

Onde:

  1. * refere -se a selecionar todas as colunas de ambos os dados de dados.
  2. v1 refere -se à visão temporária do primeiro dataframe.
  3. V2 refere -se à visão temporária do segundo dados de dados.
  4. Column_name é a coluna que existe comuns (linhas comuns) em ambos os dados de dados. (Com base nesta coluna, realizaremos a operação de junção)

Exemplo:

Neste exemplo, estamos usando a palavra -chave de junção correta para participar de ambos os dados de dados. Portanto, o resultado será 001, 002, 007, 004 e 005 linhas das segundas linhas de dados e 001, 002, 004 e 005 das primeiras dados de dados de dados. Linha 003 no primeiro DataFrame não é correspondente a nenhuma das linhas no segundo Dadosframe. Então, nulo será adicionado nesta linha. Por fim, estamos aplicando o método show () para exibir o pyspark dataframe.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ['rollno': '001', 'sujeito1': 78, 'sujeito 2': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# Crie visualização para DF com nomes como aluno
df.CreateReplacetempView ("Student")
# Crie visualização para DF2 com nomes como marcas
df2.CreateReplacetempView ("Marcas")
# Execute a junção correta
fagulha.SQL ("SELECT * FROM ALUNO DIREITO JONOS NO ALUNO.rollno == Marcas.Núm. da lista").mostrar()

Saída:

Junção externa direita

Os resultados da junção externa direita no quadro de dados selecionando todas as linhas do segundo quadro de dados e apenas correspondentes a linhas do primeiro DataFrame em relação às linhas no segundo dataframe. Ele coloca nulo Valores para as linhas incomparáveis ​​no primeiro dataframe. É semelhante à junção certa.

Sintaxe:
fagulha.SQL (selecione * de V1 JONA EXTERIOR DIREITA V2 na V1.column_name == v2.nome da coluna)

Onde:

  1. * refere -se a selecionar todas as colunas de ambos os dados de dados.
  2. v1 refere -se à visão temporária do primeiro dataframe.
  3. V2 refere -se à visão temporária do segundo dados de dados.
  4. Column_name é a coluna que existe comuns (linhas comuns) em ambos os dados de dados. (Com base nesta coluna, realizaremos a operação de junção)

Exemplo:

Neste exemplo, estamos usando a palavra -chave de junção externa direita para participar de ambos os dados de dados. Portanto, o resultado será 001, 002, 007, 004 e 005 linhas das segundas linhas de dados e 001, 002, 004 e 005 das primeiras dados de dados de dados. Linha 003 no First Dataframe não é comparada a nenhuma das linhas no segundo Dadosframe. Então, nulo será adicionado nesta linha. Por fim, estamos aplicando o método show () para exibir o pyspark dataframe.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ['rollno': '001', 'sujeito1': 78, 'sujeito 2': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# Crie visualização para DF com nomes como aluno
df.CreateReplacetempView ("Student")
# Crie visualização para DF2 com nomes como marcas
df2.CreateReplacetempView ("Marcas")
# Execute a junção externa direita
fagulha.SQL ("SELECT * FROM ALUNO DIREITO DIREITO JONOS DE JONOS NO ALUNO.rollno == Marcas.Núm. da lista").mostrar()

Saída:

Junção completa

A junção completa resulta no DataFrame selecionando todas as linhas de ambos os dados de dados. Ele coloca nulo Valores para as linhas incomparáveis ​​em ambos os quadros de dados nas linhas.

Sintaxe:

fagulha.SQL (selecione * de V1 Full Junção V2 em V1.column_name == v2.nome da coluna)

Onde:

  1. * refere -se a selecionar todas as colunas de ambos os dados de dados.
  2. v1 refere -se à visão temporária do primeiro dataframe.
  3. V2 refere -se à visão temporária do segundo dados de dados.
  4. Column_name é a coluna que existe comuns (linhas comuns) em ambos os dados de dados. (Com base nesta coluna, realizaremos a operação de junção)

Exemplo:

No exemplo a seguir, estamos usando a palavra -chave de junção completa para participar de ambos os dados de dados. Portanto, o resultado será de ambos os quadros de dados.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ['rollno': '001', 'sujeito1': 78, 'sujeito 2': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# Crie visualização para DF com nomes como aluno
df.CreateReplacetempView ("Student")
# Crie visualização para DF2 com nomes como marcas
df2.CreateReplacetempView ("Marcas")
# Execute a junção completa
fagulha.SQL ("SELECT * do aluno de união completa Marks no aluno.rollno == Marcas.Núm. da lista").mostrar()

Saída:

Junção externa completa

A junção externa completa resulta no quadro de dados selecionando todas as linhas dos dados de dados. Ele coloca nulo Valores para as linhas incomparáveis ​​em ambos os quadros de dados nas linhas.

Sintaxe:

fagulha.SQL (Selecione * FROM V1 Full Exterir Junção V2 em V1.column_name == v2.nome da coluna)

Onde:

  1. * refere -se a selecionar todas as colunas de ambos os dados de dados.
  2. v1 refere -se à visão temporária do primeiro dataframe.
  3. V2 refere -se à visão temporária do segundo dados de dados.
  4. Column_name é a coluna que existe comuns (linhas comuns) em ambos os dados de dados. (Com base nesta coluna, realizaremos a operação de junção)

Exemplo:

Neste exemplo, estamos usando uma palavra -chave de junção externa completa para participar de ambos os dados de dados. Portanto, o resultado será de ambos os quadros de dados.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Criar dados do Student_marks com 5 linhas e 6 atributos
estudantes_marks = ['rollno': '001', 'sujeito1': 78, 'sujeito 2': 98,
'rollno': '002', 'sujeito1': 83, 'sujeito2': 69,
'rollno': '005', 'sujeito1': 95, 'sujeito2': 90,
'rollno': '004', 'sujeito1': 76, 'sujeito2': 100,
'rollno': '007', 'sujeito1': 90, 'sujeito2': 91]
# Crie o DataFrame
df2 = spark_app.CreatedAtAframe (Students_Marks)
# Crie visualização para DF com nomes como aluno
df.CreateReplacetempView ("Student")
# Crie visualização para DF2 com nomes como marcas
df2.CreateReplacetempView ("Marcas")
# Execute a junção externa completa
fagulha.SQL ("SELECT * do aluno de junção externa completa Marcas no aluno.rollno == Marcas.Núm. da lista").mostrar()

Saída:

Conclusão

Neste artigo, discutimos quatro tipos de junções SQL realizadas no Pyspark Dataframe. Vimos que a junção esquerda é semelhante à junção externa esquerda; A junção certa é semelhante à junção externa direita; A junção completa é semelhante à junção externa completa. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e tutoriais.