Se quisermos retornar os valores da coluna DataFrame no Pyspark, o método contains () disponível no Pyspark é usado para retornar as linhas com base nos valores especificados dentro dele.
Pode ser usado com a cláusula de filtro ou onde a cláusula. Vamos vê -los um por um com os diferentes exemplos.
Sintaxe
dataframe_object.filtro (dataframe_obj.coluna.contém (value/string))
dataframe_object.onde (dataframe_obj.coluna.contém (value/string))
Onde,
dataframe_object é o pyspark dataframe.
Parâmetro:
A função contains () leva um parâmetro.
Pode ser um valor ou string que a função contém () verificará se o valor especificado está presente na coluna DataFrame ou não.
Retornar:
Com base neste valor da coluna, toda a linha é retornada.
Primeiro, criaremos o Pyspark DataFrame com 10 linhas e 5 colunas.
Importar Pyspark
de Pyspark.Importação SQL *
Spark_App = SparkSession.construtor.nome do aplicativo('_').getorcreate ()
alunos = [(4, 'sravan', 23, 'php', 'testes'),
(2, 'Sravan', 23, 'Oracle', 'Testing'),
(46, 'Mounika', 22, '.Net ',' html '),
(12, 'Deepika', 21, 'Oracle', 'Html'),
(46, 'Mounika', 22, 'Oracle', 'Testing'),
(12, 'Chandrika', 23, 'Hadoop', 'C#'),
(12, 'Chandrika', 22, 'Oracle', 'Testing'),
(45, 'Sravan', 23, 'Oracle', 'C#'),
(4, 'Deepika', 21, 'Php', 'C#'),
(46, 'Mounika', 22, '.Net ',' teste ')
]
dataframe_obj = spark_app.CreatedataFrame (estudantes, ['sujeito_id', 'nome', 'idade', 'tecnologia1', 'tecnologia2']))
dataframe_obj.mostrar()
Saída:
Agora, vamos aplicar a função contains () no quadro de dados Pyspark para retornar os resultados.
Exemplo 1
Forneceremos a string 'sravan' na coluna de nome dentro do método contains () e retornar todas as linhas que correspondem a essa string.
#check para string- sravan na coluna Nome e retorne linhas com nome - Sravan.
Print ("-------- Usando a cláusula onde () --------")
dataframe_obj.onde (dataframe_obj.nome.contém ('sravan')).mostrar()
#check para string- sravan na coluna Nome e retorna linhas com nome - Sravan.
Print ("-------- Usando a Cláusula Filter () --------")
dataframe_obj.filtro (dataframe_obj.nome.contém ('sravan')).mostrar()
Saída:
Explicação
Você pode ver que Sravan é encontrado três vezes e as linhas foram devolvidas.
Exemplo 2
Forneceremos a string 'php' na coluna Technology1 dentro do método contains () e retornar todas as linhas que correspondem a essa string.
#check para string- php na coluna Technology1 e retorno linhas com tecnologia1 - php.
Print ("-------- Usando a cláusula onde () --------")
dataframe_obj.onde (dataframe_obj.Technology1.contém ('php')).mostrar()
#check para string- php na coluna Technology1 e retorno linhas com tecnologia1 - php.
Print ("-------- Usando a Cláusula Filter () --------")
dataframe_obj.filtro (dataframe_obj.Technology1.contém ('php')).mostrar()
Saída:
Explicação
Você pode ver que o PHP é encontrado duas vezes na coluna Technology1 e as linhas foram devolvidas.
Exemplo 3
Forneceremos o valor 46 na coluna sujeito_id dentro do método contains () e retornará todas as linhas que correspondem a este valor.
#CHECK PARA VALOR - 46 na coluna Subjetion_id e Retorno linhas com sujeito_id - 46.
Print ("-------- Usando a cláusula onde () --------")
dataframe_obj.onde (dataframe_obj.sujeito_id.contém (46)).mostrar()
#CHECK PARA VALOR - 46 na coluna Subjetion_id e Retorno linhas com sujeito_id - 46.
Print ("-------- Usando a Cláusula Filter () --------")
dataframe_obj.filtro (dataframe_obj.sujeito_id.contém (46)).mostrar()
Saída:
Explicação
Você pode ver que 46 é encontrado três vezes na coluna Subject_id e as linhas foram devolvidas.
Exemplo 4
Forneceremos o valor 1000 na coluna sujeito_id dentro do método contains () e retornará todas as linhas que correspondem a este valor.
#CHECK PAR.
Print ("-------- Usando a cláusula onde () --------")
dataframe_obj.onde (dataframe_obj.sujeito_id.contém (1000)).mostrar()
#CHECK PAR.
Print ("-------- Usando a Cláusula Filter () --------")
dataframe_obj.filtro (dataframe_obj.sujeito_id.contém (1000)).mostrar()
Saída:
Explicação
Você pode ver que 1000 não é encontrado na coluna Subjetion_id. Então, nenhuma linha foi devolvida.
Conclusão
Este tutorial de Pyspark discutiu que é possível filtrar as linhas presentes no quadro de dados usando o método contains (). Vimos quatro exemplos diferentes para entender melhor esse conceito. É possível usar este método usando as funções WHERE () e FILTER ().