Ir para o conteúdo principal

API do Spark

Experimente o Databricks gratuitamente

Ao trabalhar com o Spark, você encontrará as três APIs: DataFrames, Datasets e RDDs.

O que são conjuntos de dados distribuídos resilientes?

Resilient Distributed Datasets (RDD) são uma coleção de registros que usam computação distribuída e é tolerante a falhas e imutável. Os RDDs podem operar em paralelo com APIs de baixo nível e seus recursos de atraso aceleram as operações do Spark. Além disso, os RDDs são compatíveis com duas operações:

  • Transformação: uma operação lenta que retorna outro RDD. Este RDD não é calculado a menos que uma ação seja tomada. Alguns exemplos de transformações são map(), flatmap(), filter()
    API do Spark: transformações de RDD
  • Ações: operações que acionam cálculos e retornam valores. Alguns exemplos de ações são count, top(), savetofile()
    API do Spark: ações de RDD

Desvantagens dos RDDs

Ao usar RDDs, cada RDD deve ser otimizado. Além disso, diferentemente dos conjuntos de dados e dos DataFrames, os RDDs não inferem o esquema dos dados ingeridos. Portanto, a especificação do esquema é necessária.

O que são DataFrames?

Um DataFrame é uma coleção distribuída de linhas em colunas nomeadas. Simplificando, é como uma planilha de Excel com títulos de coluna, comparável a uma tabela em um banco de dados relacional ou a um DataFrame em R ou Python. O DataFrame tem três características em comum com o RDD:

  • Imutável in nature: um DataFrame pode ser criado, mas não pode ser modificado após a criação. Assim como o RDD, apenas a conversão é possível.
  • Avaliações lentas: a tarefa não é executada até que a ação seja acionada.
  • Distribuição: O DataFrame, assim como o RDD, é distribuído.

Como criar um DataFrame

Existem várias maneiras de criar um DataFrame no Spark:

  • Usando diferentes formatos de dados (por exemplo, carregando dados de JSON, CSV, RDBMS, XML ou Parquet).
  • Carregando dados do RDD existente.
  • Especificando o esquema de maneira programática.

Desvantagens dos DataFrames

A maior desvantagem da API DataFrame é que ela não é compatível com tempo de compilação com segurança. Isso limita os usuários quando a estrutura de dados é desconhecida.

O que são conjuntos de dados?

Datasets são uma coleção imutável e tipada de objetos mapeados para um esquema relacional. Os conjuntos de dados podem ser criados usando objetos JVM e manipulados usando transformações funcionais complexas. Eles podem ser criados de duas maneiras:

  • De forma dinâmica.
  • Carregando do arquivo JSON usando SparkSession.

Desvantagens dos conjuntos de dados

A principal desvantagem dos conjuntos de dados é que eles requerem conversão de tipo para string.

Recursos adicionais

Voltar ao glossário