Spark SQL, DataFrames e DataFrames Guide

Spark SQL é um módulo Spark para processamento de dados estruturados. Ao contrário da API básica Spark RDD, as interfaces fornecidas pela Spark SQL fornecem à Spark mais informações sobre a estrutura dos dados e o cálculo que está sendo realizado. Internamente, Spark SQL usa esta informação extra para realizar otimizações extras. Existem várias maneiras de interagir com Spark SQL, incluindo SQL e o Dataset API. Ao calcular um resultado, o mesmo motor de execução é utilizado, independentemente de qual API/língua você está usando para expressar a computação. Esta unificação significa que os desenvolvedores podem facilmente alternar entre APIs diferentes com base nas quais você fornece a forma mais natural de expressar uma determinada transformação.

Todos os exemplos desta página utilizam dados de amostra incluídos na distribuição Spark e podem ser executados na distribuição Spark spark-shell, pyspark shell, ou sparkR shell.

SQL

Um uso de Spark SQL é executar consultas SQL.Spark SQL também pode ser utilizado para ler dados de uma instalação existente da Colmeia. Para mais informações sobre como configurar esta funcionalidade, consulte a secção Tabelas da Colmeia. Ao executar oSQL a partir de outra linguagem de programação, os resultados serão retornados como Dataset/DataFrame. Você também pode interagir com a interface SQL usando a linha de comando ou sobre JDBC/ODBC.

Datasets e DataFrames

A Dataset é uma coleção distribuída de dados.Dataset é uma nova interface adicionada no Spark 1.6 que fornece os benefícios dos RDDs (strongtyping, capacidade de usar poderosas funções lambda) com os benefícios do motor de execução otimizada do Spark SQL. Um Dataset pode ser construído a partir de objetos JVM e depois manipulado usando transformações funcionais (map, flatMap, filter, etc.) A API do Dataset está disponível em Scala e Java. Python não tem o suporte para a API do conjunto de dados. Mas devido à natureza dinâmica do Python, muitos dos benefícios do Dataset API já estão disponíveis (ou seja, você pode acessar o campo de uma linha pelo nome, naturalmenterow.columnName). O caso de R é similar.

A DataFrame é um conjunto de dados organizado em colunas nomeadas. É conceitualmente equivalente a uma tabela em uma base de dados relacional ou um quadro de dados em R/Python, mas com otimizações mais ricas sob a capa. DataFrames pode ser construído a partir de uma ampla gama de fontes, tais como: arquivos de dados estruturados, tabelas na colméia, bancos de dados externos ou RDDs existentes. A API DataFrame está disponível em Scala, Java, Python e R. Em Scala e Java, um DataFrame é representado por um conjunto de dados de Rows.Na API Scala, DataFrame é simplesmente um tipo alias de Dataset.Enquanto que, na API Java, os usuários precisam usar Dataset<Row> para representar um conjunto de dados de DataFrame.

Atrás deste documento, nós frequentemente nos referiremos a conjuntos de dados Scala/Java de Rows como DataFrames.

.

Deixe uma resposta

O seu endereço de email não será publicado.