Bigquery Sql против Spark Sql - Управление памятью - PullRequest
0 голосов
/ 24 ноября 2018

В последнее время я много работал над стандартом Bigquery sql, и в то же время в спарк обращаются с точно такими же данными.

Я заметил кое-что странное с точки зрения выполнения запросов в bigquery.

Например: если я запускаю стандартный SQL-запрос с аналитическими функциями окна, такими как row_number () или rank () в таблице больших запросов, которая содержит около 500ГБ данных и около 60 миллионов строк дают ошибку «Недостаточно памяти» .И я прочитал, поскольку оконные функции требуют сортировки (разделение по порядку имен столбцов по именам столбцов) , механизм больших запросов объединяет весь кусок данных в один узел для целей сортировки, что понятно и, следовательно, является ошибкой.

Но когда я считываю данные в spark и запускаю точно такой же запрос в spark sql после регистрации набора данных как временного, я получаю вывод в считанные минуты.Я также замечаю, что разделы и число исполнителей активны в интерфейсе spark, что в основном означает, что данные в разделе spark должным образом распределяются.

Может ли кто-нибудь пролить свет на то, почему и как эти 2 отличаются и чем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...