Выбор улья — Fetch и MapReduce

у меня две таблицы

  1. Внешняя таблица А
  2. Внешняя таблица B с секционированными и сегментированными столбцами

Таблица A имеет 5 столбцов (скажем, c1,c2,c3,c4,c5)

Таблица B имеет 5 столбцов (c1,c2,c3,c4, разделенных на c5 и разделенных на c1.

Я запускаю следующие запросы

1. select * from A where c5="x" and c1="y"
2. select c1,c2,c3 from A where c5="x" and c1="y"
3. select * from B where c5="x" and c1="y"
4. select c1,c2,c3 from B where c5="x" and c1="y"

Все они используют не MR, а только оператор выборки.

Q1: MR или Fetch. Зависит ли это от размера файла или всегда одно и то же?

Q2: поведение 2-го и 4-го запросов противоречит ссылка. Это недавнее улучшение?

5. select count(*) from A where c5="x" and c1="y"
6. select count(*) from B where c5="x" and c1="y"

Q3: Очевидно, что для этих 2 требуется MR, но 5 в два раза быстрее, чем 6. В идеале 6 должно быть быстрее, поскольку таблица B разделена на сегменты и сегментирована, а запрос основан на этих столбцах. Какие могут быть возможные причины? Я запускал запросы несколько раз.

Примечание. Я использую HDP 2.3.


person Manikandan Kannan    schedule 11.01.2016    source источник


Ответы (1)


Относительно Q1 и Q2:

Были недавние обновления в улье, начиная с версии 13, которая широко использует статистику таблицы улья, статистику столбца, точно так же, как когда таблица хранится как ORC, то есть функция анализа. Это позволяет избежать выполнения MR для запросов count(*) и всего остального. Вы можете проверить свойства своей таблицы, используя синтаксис show create table , где вы можете увидеть, как количество таблиц обновляется при добавлении записей и т. д. Эти значения также записываются в хранилище метаданных куста.

См. это , это и это

Вопрос 3:

Тесты выполнения MR, как вы упомянули, могут быть верны, когда мы обрабатываем небольшие наборы данных. Сегментированные и сегментированные таблицы могут не работать лучше для небольших наборов данных, поскольку им приходится проходить все этапы MR, в отличие от несекционированных и несегментированных таблиц.

Надеюсь, я дал вам небольшую суть вашего запроса.

person K S Nidhin    schedule 12.01.2016
comment
Спасибо Нидин. Во втором квартале статистика по этому столу не ведется, но MR по-прежнему отсутствует. Может быть другая функция как часть улучшения? - person Manikandan Kannan; 13.01.2016