Dataframe

Dataframe — основная абстрация Apache Spark

Dataframe — это аналог реляционной таблицы, которая хранится в распределенной памяти кластера обработки данных. Более точно — это не таблица, а алгоритм ее построения: все операции в Spark делятся на трансформации и действия, поэтому «построение» таблицы, как таковой, происходит только в момент выполнения действия (например, при записи dataframe в базу данных).

Spark использует оптимизатор запросов, благодаря чему выполнение трансформаций происходит максимально эффективно. Особенно хорошо оптимизируются именно трансформации dataframe-ов, поэтому при использовании этого API (dataframe — часть так называемого Structured API) все языковые API одинаково эффективны (python, java, scala). Абстракции нижнего уровня — RDD — не позволяют достичь той же эффективности при использовании, например, языкового API для python. Рекомендация разработчиков Spark — в первую очередь попробуйте решить Вашу задачу с помощью dataframe-ов, основной абстракции данных Apache Spark.