segmentGranularity в задаче индексации Druid; точное значение и значение во время индексации

Я до сих пор не совсем понимаю эту «зернистость сегмента» в Друиде. Эта страница довольно неоднозначна: http://druid.io/docs/latest/design/segments.html . Он продолжает упоминать segmentGranularity, но больше говорит об интервалах (в первом абзаце).

Во всяком случае, на данный момент объем моих данных не так уж велик. На этой странице упоминается, что 300-700 МБ - это «идеальный» размер сегмента. На самом деле я могу уместить данные за неделю в один сегмент. Вот почему я думаю установить для segmentGranularity значение «неделя» в моей задаче индексирования json:

  "granularitySpec" : {
    "type" : "uniform",
    "segmentGranularity" : "week",
    "queryGranularity" : "none",
    "intervals" : ["2015-09-12/2015-09-13"]
  },

Тем не менее, я планирую выполнять пакетную индексацию каждый час (и обычно это будет (повторно) обрабатывать данные только в течение того же дня). Вот почему я указал только один интервал, который охватывает один день, в поле «интервалы» выше.

Мой вопрос: как это будет работать, если для параметра segmentGranularity установлено значение неделя (вместо дня)? Будет ли он перестраивать куб для всего отрезка (недели)? Чего я не хочу; Я хочу только пересобрать куб за день.

Спасибо, Рака


person Cokorda Raka    schedule 23.03.2017    source источник


Ответы (1)


Да период детализации сегмента указывает, в течение какого времени данные должны храниться в конкретном сегменте. Если ваш сегмент настроен на неделю, то каждый сегмент будет содержать данные за определенную неделю.

Теперь, если вы собираетесь запускать задачу загрузки каждый час, тогда весь сегмент будет перестроен, если у вас есть добавление данных только за день, то обычно лучше сохранить степень детализации вашего сегмента на «день».

Но вы вполне можете сохранить степень детализации сегмента до «недели», если ваши данные малы, не имеет значения, перестраивает ли друид сегменты.

Поскольку ваш набор данных невелик, вы можете заглянуть на сервер тишины, который может принимать данные на лету без пакетного приема. Это должно подойти для вашего варианта использования.

person mdeora    schedule 11.05.2018