Czy Spark SQL zawiera optymalizację strumieniowania tabel dla złączeń, a jeśli tak, w jaki sposób decyduje o tym, która tabela ma być przesyłana strumieniowo?Czy Spark SQL zawiera optymalizację strumieniowania tabel dla złączeń?
Podczas robienia połączeń, Hive przyjmuje, że ostatni stół jest największy. Jako optymalizacja łączenia będzie próbował buforować mniejsze tabele łączenia i przesyłać ostatnie. Jeśli ostatnia tabela na liście łączenia nie jest największa, Hive ma podpowiedź /*+ STREAMTABLE(tbl) */
, która informuje ją o tabeli, którą należy przesłać strumieniowo. Od wersji 1.4.1 program Spark SQL nie obsługuje wskazówki STREAMTABLE.
To pytanie zostało poproszone o normalne przetwarzanie RDD, poza Spark SQL, here. Odpowiedź nie dotyczy programu Spark SQL, w którym programista nie ma kontroli nad operacjami jawnego buforowania.