No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame.
Discutiremos as funções colecionador_list () e colecion_set () no Pyspark DataFrame.
Antes de mudar para essas funções, criaremos o Pyspark DataFrame
Exemplo:
Aqui vamos criar dados de dados Pyspark com 5 linhas e 6 colunas.
#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
estudantes1 = ['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': 2.79, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 9, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedataFrame (estudantes1)
# Exibir dataframe
df.mostrar()
Saída:
Pyspark - colecion_list ()
O método colecion_list () é usado para obter os dados das colunas Pyspark DataFrame e retornar os valores no formato da linha. Ele retornará todos os valores junto com duplicatas. Mas precisamos importar esse método do Pyspark.SQL.Módulo de funções.
Podemos usar este método para exibir os dados coletados na forma de uma linha.
Sintaxe:
quadro de dados.Selecione (“Collect_list (“ Coluna ”)))
onde:
- DataFrame é a entrada Pyspark DataFrame
- A coluna é o nome da coluna em que coleciona_list () é aplicado
Exemplo 1:
Neste exemplo, estamos coletando dados da coluna de endereço e exibirá os valores com o método collect ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#import collect_list função
de Pyspark.SQL.funções importantes colecion_list
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
estudantes1 = ['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 (estudantes1)
# colecion_list no endereço
df.selecione (colecion_list ("endereço"))).colecionar ()
Saída:
[Linha (colecion_list (endereço) = ['guntur', 'hyd', 'patna', 'hyd', 'hyd']]]]
Exemplo 2:
Neste exemplo, estamos coletando dados das colunas de altura e peso e exibirá os valores com colecionamento ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#import collect_list função
de Pyspark.SQL.funções importantes colecion_list
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
estudantes1 = ['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 (estudantes1)
# colecion_list em colunas de altura e peso
df.Selecione (colecione_list ("altura"), colecion_list ("peso"))).colecionar ()
Saída:
[Linha (colecion_list (altura) = [5.79, 3.79, 2.79, 3.69, 5.59], colecion_list (peso) = [67, 34, 17, 28, 54])]
Pyspark - colecion_set ()
O método colecion_set () é usado para obter os dados das colunas Pyspark Dataframe e retornar os valores no formato da linha. Ele retornará todos os valores sem duplicatas.
Podemos usar este método para exibir os dados coletados na forma de uma linha. Mas precisamos importar esse método do Pyspark.SQL.Módulo de funções.
Sintaxe:
quadro de dados.Selecione (“Collect_set (“ Coluna ”)))
onde:
- DataFrame é a entrada Pyspark DataFrame
- A coluna é o nome da coluna em que coleciona_list () é aplicado
Exemplo 1:
Neste exemplo, estamos coletando dados da coluna de endereço e exibirá os valores com o método collect ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import collect_set Função
de Pyspark.SQL.funções import collect_set
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
estudantes1 = ['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 (estudantes1)
# colecion_set no endereço
df.Selecione (colecione_set ("endereço"))).colecionar ()
Saída:
[Linha (colecion_set (endereço) = ['hyd', 'guntur', 'patna']]]]
Exemplo 2:
Neste exemplo, estamos coletando dados das colunas de altura e peso e exibirá os valores com colecionamento ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import collect_set Função
de Pyspark.SQL.funções import collect_set
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
estudantes1 = ['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 (estudantes1)
# colecion_set em colunas de altura e peso
df.Selecione (colecione_set ("altura"), colecion_list ("peso"))).colecionar ()
Saída:
[Linha (colecion_set (altura) = [5.59, 3.69, 2.79, 5.79, 3.79], colecion_list (peso) = [67, 34, 17, 28, 54])]]
Conclusão
Vimos que os métodos coletion_list () e colecion_set () são usados para obter os dados de uma coluna no Pyspark Dataframe. A partir desses métodos, observamos que colecione_set () não permitirá duplicatas, mas colecione_list () permitir valores duplicados.