2016-08-26 8 views
0

Я задал свой вопрос по адресу https://groups.google.com/forum/#!topic/druid-user/SYWcqcr504k Но никто не помогает мне обойти это.Сравнительный эффективный запрос эффективности topN между сегментами Гранулярность по дням и часам

Я обрабатываю на большом наборе данных. С запросом topN на 2-х случаях (сегмент Гранулярность по дням и сегменту по размеру по часам) по запросу samGranularity выполняется «час».

Дело 01: днем ​​

"granularitySpec" : { 
     "type" : "uniform", 
     "segmentGranularity" : "day", 
     "queryGranularity" : "hour", 
     "intervals" : ["2016-08-22/2016-08-23"] 
     } 

Случай 02: по часам

"granularitySpec" : { 
     "type" : "uniform", 
     "segmentGranularity" : "hour", 
     "queryGranularity" : "hour", 
     "intervals" : ["2016-08-22/2016-08-23"] 
     } 

Но время запроса на "segmentGranularity": "день" медленнее, чем "segmentGranularity": «час ». Может ли кто-нибудь объяснить мне об этом случае? Почему сегмент за днем ​​медленнее, чем час? А между сегментом хранения данных по дням и часами, как я могу выбрать тип сегмента? И как это может повлиять на мой запрос? Большое спасибо!

ответ

1

Вы можете рассмотреть эти вещи, чтобы решить сегмент детализацию:

  • В случае реального время приема, сегмент зернистость продиктует время, для которых задача индексации в режиме реального времени run.The грубее сегмент детализации тем дольше они в реальное время будут выполняться задачи индексирования. Задачи репликации сохраняют данные на глубоком хранилище только тогда, когда они завершатся, если все реплики задач реального времени в течение временного интервала будут убиты, вы потеряете данные за этот интервал времени. Гранулярность сегмента сегмента влияет на риск потери данных. Зернистость более мелкого сегмента будет означать больше ресурсов для менеджеров среднего звена, так как параллельная реализация нескольких коротких задач будет выполняться параллельно.
  • Степень сегментации также влияет на размер создаваемых сегментов. В базовой настройке создается один сегментный файл для каждого временного интервала, где временной интервал настраивается по сегменту Гранулярность. В целом рекомендуется сохранить размер сегмента порядка 300-700 МБ и до 5 миллионов строк. Эта рекомендация также может использоваться для определения детализации сегмента. Если производится очень мало и больших сегментов, это будет влиять на параллелизм запроса, поскольку единица параллелизма является сегментом. Большие сегменты могут иногда замедлять запрос, который может иметь место, когда вы создавали сегменты на дневном уровне.

Я также предлагаю вам взглянуть на различные показатели друида, испускаемые узлами запроса (например, в историческом и реальном времени), чтобы выяснить узкое место в случае более медленного запроса. Для различных показателей см. http://druid.io/docs/latest/operations/metrics.html

+0

У меня есть ответ sam на User Druid Google Group. https://groups.google.com/forum/#!topic/druid-user/SYWcqcr504k Большое спасибо – VanThaoNguyen