Introdução ao Spark DataFrame

Pode-se dizer que um quadro de dados spark é uma coleta de dados distribuída organizada em colunas nomeadas e também é usada para fornecer operações como filtragem, computação de agregações, agrupamento e também pode ser usada com o Spark SQL. Os quadros de dados podem ser criados usando arquivos de dados estruturados, juntamente com RDDs existentes, bancos de dados externos e tabelas do Hive. É basicamente denominado e conhecido como uma camada de abstração criada sobre o RDD e também é seguida pela API do conjunto de dados que foi introduzida nas versões posteriores do Spark (2.0 +). Além disso, os conjuntos de dados não foram introduzidos no Pyspark, mas apenas no Scala com Spark, mas esse não foi o caso no caso dos Dataframes. Os quadros de dados conhecidos popularmente como DFs são formatos colunares lógicos que tornam o trabalho com RDDs mais fácil e conveniente, além de usar as mesmas funções que os RDDs da mesma maneira. Se você falar mais no nível conceitual, é equivalente às tabelas relacionais, juntamente com os bons recursos e técnicas de otimização.

Como criar um DataFrame?

Um Quadro de Dados é geralmente criado por qualquer um dos métodos mencionados. Pode ser criado usando tabelas do Hive, bancos de dados externos, arquivos de dados estruturados ou mesmo no caso de RDDs existentes. Todas essas maneiras podem criar essas colunas nomeadas conhecidas como Dataframes usadas para o processamento no Apache Spark. Utilizando o SQLContext ou SparkSession, aplicativos podem ser usados ​​para criar Dataframes.

Operações do Spark DataFrames

No Spark, um quadro de dados é a distribuição e a coleta de uma forma organizada de dados em colunas nomeadas, o que equivale a um banco de dados relacional, um esquema ou um quadro de dados em uma linguagem como R ou python, mas junto com um nível mais rico de otimizações. ser usado. É usado para fornecer um tipo específico de domínio de uma linguagem que pode ser usada para manipulação de dados estruturados.

A seguir mencionados, estão algumas operações básicas de processamento de dados estruturados, usando quadros de dados.

1. Lendo um documento do tipo: JSON: Estaríamos usando o comando sqlContext.read.json.

Exemplo: Vamos supor que nosso nome de arquivo seja student.json, nosso código será semelhante a:
val dfs= sqlContext.read.json(“student.json”)

Saída: Nesse caso, a saída será que os nomes dos campos serão automaticamente retirados do arquivo student.json.

2. Exibição de dados: para ver os dados nos quadros de dados do Spark, você precisará usar o comando:
dfs.show ()

Exemplo: Vamos supor que nosso nome de arquivo seja student.json, nosso código será semelhante a:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Saída: os dados do aluno estarão presentes em um formato tabular.

3. Usando o método printSchema: Se você estiver interessado em ver a estrutura, ou seja, o esquema do quadro de dados, use o seguinte comando: dfs.printSchema ()

Exemplo: Vamos supor que nosso nome de arquivo seja student.json, nosso código será semelhante a:

val dfs= sqlContext.read.json(“student.json”)
dfs. printSchema ()

Saída: a estrutura ou o esquema estará presente para você

4. Use o método de seleção: Para usar o método de seleção, o seguinte comando será usado para buscar os nomes e as colunas da lista de quadros de dados.
dfs.select ("nome da coluna"). show ()

Exemplo: Vamos supor que nosso nome de arquivo seja student.json, nosso código será semelhante a:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Saída: Os valores da coluna de nome podem ser vistos.

5. Usando o filtro Idade: O seguinte comando pode ser usado para encontrar a faixa de alunos com idade superior a 23 anos.
dfs.filter (dfs ("nome da coluna")> valor) .show ()

Exemplo: Vamos supor que nosso nome de arquivo seja student.json, nosso código será semelhante a:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Saída: a idade filtrada por mais de 23 anos aparecerá nos resultados.

6. Usando o método groupBy: O método a seguir pode ser usado para contar o número de alunos que têm a mesma idade.
dfs.groupBy ("nome da coluna"). count (). show ()

Exemplo: Vamos supor que nosso nome de arquivo seja student.json, nosso código será semelhante a:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. O uso da função SQL em um SparkSession que permite que o aplicativo execute consultas de tipo SQL programaticamente e, portanto, retorna o resultado na forma de um quadro de dados.
spark.sql (consulta)

Exemplo: suponha que tenhamos que registrar o quadro de dados SQL como uma visualização temporária:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Saída: Uma exibição temporária será criada pelo nome do aluno e um spark.sql será aplicado sobre ele para convertê-lo em um quadro de dados.

8. Usando a função SQL em uma exibição temporária do Spark Session for Global: Isso permite que o aplicativo execute consultas do tipo SQL programaticamente e, portanto, retorna o resultado na forma de um quadro de dados.
spark.sql (consulta)

Exemplo: suponha que tenhamos que registrar o quadro de dados SQL como uma visualização temporária:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Saída: Uma exibição temporária será criada pelo nome do aluno e um spark.sql será aplicado sobre ele para convertê-lo em um quadro de dados.

Vantagens do Spark DataFrame

  1. O quadro de dados é a coleção distribuída dos Dados e, portanto, os dados são organizados na forma de colunas nomeadas.
  2. Eles são mais ou menos semelhantes à tabela no caso de bancos de dados relacionais e possuem um rico conjunto de otimização.
  3. Os quadros de dados são usados ​​para capacitar as consultas escritas em SQL e também a API do quadro de dados
  4. Ele pode ser usado para processar dados estruturados e não estruturados.
  5. O uso do otimizador de catalisador torna a otimização fácil e eficaz.
  6. As bibliotecas estão presentes em várias linguagens, como Python, Scala, Java e R.
  7. Isso é usado para fornecer forte compatibilidade com o Hive e é usado para executar consultas do Hive não modificadas no armazém do hive já presente.
  8. Pode escalar muito bem, de alguns kbs no sistema pessoal a muitos petabytes nos clusters grandes.
  9. É usado para fornecer um nível fácil de integração com outras tecnologias e estruturas de big data.
  10. A abstração que eles fornecem aos RDDs é eficiente e torna o processamento mais rápido.

Conclusão - Spark DataFrame

Nesta postagem, você aprendeu um recurso muito crítico do Apache Spark que são os quadros de dados e seu uso nos aplicativos em execução hoje, juntamente com operações e vantagens. Espero que você tenha gostado do nosso artigo. Fique atento para mais como estes.

Artigos recomendados

Este foi um guia para o Spark DataFrame. Aqui discutimos como criar um DataFrame? suas vantagens e operações diferentes dos DataFrames, juntamente com o código de amostra apropriado. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Spark Streaming
  2. Como instalar o Spark
  3. Carreira no Spark
  4. Perguntas da entrevista do Spark
  5. Quadros de dados em R
  6. 7 tipos diferentes de junções no Spark SQL (exemplos)
  7. PySpark SQL | Módulos e métodos do PySpark SQL
  8. Componentes Spark Visão geral dos componentes do Spark

Categoria: