У меня есть два больших набора данных,
val dataA : Dataset[TypeA]
и val dataB: Dataset[TypeB]
, где TypeA
и TypeB
расширяют Serializable
.
Я хочу объединить два набора данных в отдельные столбцы, поэтому где TypeA.ColumnA == TypeB.ColumnB
. Spark предлагает функцию JoinWith
в наборе данных, который, я думаю, сделает это правильно, но функция недокументирована и помечена как "экспериментальная" .
Другой подход, который я рассматривал, заключается в использовании PairRDD вместо наборов данных и объединении их с помощью общего ключа (как говорится в этом сообщении stackoverlow здесь: как соединить два набора данных по ключу в scala spark).
Есть ли какой-то особенно лучший подход к объединению двух наборов данных или лучший способ использовать JoinWith или PairRDD?
Dataset[(TypeA, TypeB)]
, а обычныйjoin
будет возвращатьDataset[Row]
(он жеDataFrame
) со столбцами с обеих сторон соединения в одной плоской структуре, такой как обычное соединение sql. - person puhlen   schedule 16.04.2018