Что лучше среди RDD, Dataframe, Dataset для выполнения столбцовых операций avro в искре?

У нас есть вариант использования, когда нам нужно выполнить некоторые преобразования столбцов в наборах данных avro. До сих пор мы выполняли задания MR, а теперь хотим изучить искру. Я просматриваю некоторые учебные пособия и не уверен, следует ли нам использовать RDD или Dataframe/Dataset. Поскольку кадры данных хранятся в виде столбцов, правильно ли использовать кадры данных, поскольку все мои преобразования имеют столбчатый характер? Или это не имеет большого значения, поскольку внутри все основано на RDD?


person vamsi    schedule 10.05.2020    source источник


Ответы (2)


С точки зрения производительности ваш формат данных никак не повлияет на API, который вы используете для описания преобразований.

Я бы посоветовал использовать максимально высокоуровневый API (DataFrames) и переключаться на RDD только в том случае, если какая-то операция, которая вам нужна, не может быть реализована каким-либо другим способом.

person Rayan Ral    schedule 12.05.2020

Пытаясь ответить на ваш вопрос, я наткнулся на всестороннее сравнение между всеми тремя структурами данных.

Ответ в каждом конкретном случае зависит от характера ваших преобразований, а не от конкретного формата сериализации. В целом использование API более высокого уровня дает больше удобства, а API низкого уровня (RDD) — больше гибкости и контроля.

person Robert Navado    schedule 10.05.2020