Использование глобального планирования куста

при использовании улья следующим образом:

 select req_time from ncsa where req_time > 90 sort by req_time limt 100;

вы найдете это:

958
952
951 
97
96
96
959
957
956
955 
955
953
95
94
92

Я предполагаю, что в mapps дата разделена на несколько частей и уменьшает сортировку по каждой части.

подскажите пожалуйста как решить эту проблему?


person caidao    schedule 20.02.2013    source источник
comment
Я не вижу никакой проблемы, пожалуйста, объясните яснее.   -  person Balaswamy Vaddeman    schedule 20.02.2013
comment
Извините, нужно выбрать req_time из ncsa, где req_time › 90 sort by req_time limt 100; и результат не является глобальной сортировкой по   -  person caidao    schedule 20.02.2013
comment
используйте группу перед сортировкой по ней может работать   -  person Balaswamy Vaddeman    schedule 20.02.2013


Ответы (2)


используйте order by вместо sort by.

Разница между order by и sort by заключается в том, что первый гарантирует полный порядок на выходе, а второй гарантирует только порядок строк внутри редуктора. см. документацию куста для получения более подробной информации.

PS. убедитесь, что req_time является числовым полем.

person pensz    schedule 23.02.2013

Я процитирую ответ из Кластер Hive по сравнению с порядком по сравнению с сортировкой по:

  • CLUSTER BY x: гарантирует, что каждый из N редукторов получает непересекающиеся диапазоны, а затем сортирует по этим диапазонам в редюсерах. Это дает вам глобальный порядок и то же самое, что и (DISTRIBUTE BY x и SORT BY x). В итоге вы получите N или более отсортированных файлов с непересекающимися диапазонами.

  • Итак, CLUSTER BY - это, по сути, более масштабируемая версия ORDER BY.

person Bohdan    schedule 17.01.2014