Улей на спарк - почему не «выбрать *» Spawn Spark приложение / исполнителей? - PullRequest
1 голос
/ 29 марта 2019

У меня есть настройка Hive (v2.3.4) на Spark (exec engine).

Запускает приложение / исполнители spark:

select count(*) from s.t where h_code = 'KGD78' and h_no = '265'

Почему это не запускает приложение / исполнители spark:

select * from s.t where h_code = 'KGD78' and h_no = '265'

1 Ответ

1 голос
/ 29 марта 2019

Это - второй случай - из-за не очень известного параметра "hive.fetch.task.conversion" .

В зависимости от того, как установлено, Hive может запустить одну «задачу извлечения» вместо задания «Уменьшить карту» даже с фильтром, т. Е. Предложением where.

Если вы выберете *или неразделенный столбец, он запустит задачу извлечения вместо задания MR - одиночный поток.Отдельная тема не всегда хорошая вещь.Счетчик (*) должен говорить сам за себя, потенциально вам нужно много обработать, второй случай можно рассматривать как курсор.

Вы можете изменить параметр на «минимальный» или «нет» в кусте.site.xml, чтобы устранить этот тип обработки.

Хорошо заметили.

...