Соединение 3 таблиц с использованием 2 внутренних соединений в искре с использованием улья - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу объединить три таблицы в Spark, используя только внутренние объединения. Я считаю, что могу сделать это двумя способами:

Way 1:-
Step1: dataframeA = TableA inner join TableB on [condition] inner join TableC on [condition]
Step2: dataframeA.saveAsTable

Way 2:
Step1: dataframeA = TableA inner join TableB on [condition]
Step2: TableC -> convert to Dataframe -> dataframeB
Step3: dataframeA join dataframeA  on [condition].saveAsTable

Итак, я хочу знать, какой способ быстрее реализовать, и будет ли иметь какое-либо значение, если я объединю таблицы на основе их размеров? Как сначала присоединиться к большим таблицам, чем присоединиться к меньшим.

Будут оценены любые соответствующие источники. Спасибо.

1 Ответ

0 голосов
/ 03 сентября 2018

Ну, вы можете использовать широковещательное соединение, если какая-либо из таблиц достаточно мала https://jaceklaskowski.gitbooks.io/mastering-spark-sql/spark-sql-joins-broadcast.html

...