У нас есть вариант использования, когда нам нужно выполнить некоторые преобразования столбцов в наборах данных avro. До сих пор мы выполняли задания MR, а теперь хотим изучить искру. Я просматриваю некоторые учебные пособия и не уверен, следует ли нам использовать RDD или Dataframe/Dataset. Поскольку кадры данных хранятся в виде столбцов, правильно ли использовать кадры данных, поскольку все мои преобразования имеют столбчатый характер? Или это не имеет большого значения, поскольку внутри все основано на RDD?
Что лучше среди RDD, Dataframe, Dataset для выполнения столбцовых операций avro в искре?
Ответы (2)
С точки зрения производительности ваш формат данных никак не повлияет на API, который вы используете для описания преобразований.
Я бы посоветовал использовать максимально высокоуровневый API (DataFrames) и переключаться на RDD только в том случае, если какая-то операция, которая вам нужна, не может быть реализована каким-либо другим способом.
person
Rayan Ral
schedule
12.05.2020
Пытаясь ответить на ваш вопрос, я наткнулся на всестороннее сравнение между всеми тремя структурами данных.
Ответ в каждом конкретном случае зависит от характера ваших преобразований, а не от конкретного формата сериализации. В целом использование API более высокого уровня дает больше удобства, а API низкого уровня (RDD) — больше гибкости и контроля.
person
Robert Navado
schedule
10.05.2020