Três interfaces — RDDs, DataFrames e Datasets — permitem que os desenvolvedores processem dados distribuídos em várias linguagens com desempenho otimizado.
Ao trabalhar com o Spark, você encontrará as três APIs: DataFrames, Datasets e RDDs.
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:


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.
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:
Existem várias maneiras de criar um DataFrame no Spark: