2

在德鲁伊中,我仍然不太了解这个“segmentGranularity”。这个页面很模糊:http ://druid.io/docs/latest/design/segments.html 。它继续提到segmentGranularity,但它更多地谈论间隔(在第一段中)。

无论如何,此时我的数据量并没有那么大。该页面提到 300mb-700mb 是段的“理想”大小。实际上,我可以将一周的数据放入一个片段中。这就是为什么我正在考虑在我的索引任务 json 中将 segmentGranularity 设置为“week”:

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

但是,我计划每隔一小时进行一次批量索引(这通常只会在同一天(重新)处理数据)。所以这就是为什么我在上面的“间隔”字段中只放了一个间隔,跨越一天。

我的问题:当 segmentGranularity 设置为周(而不是天)时,这将如何工作?它会为整个段(一周)重建多维数据集吗?这是我不想要的;我只想为这一天重建立方体。

谢谢,拉卡

4

1 回答 1

1

是 段粒度周期指定应将数据保留在特定段中的持续时间。如果您的细分设置为每周,则每个细分都将保存特定周的数据。

现在,如果您要每小时运行一次摄取任务,那么整个段都会重新构建,如果您只添加当天的数据,通常最好将您的段粒度保持为“天”。

但是如果您的数据很小,您可以很好地将段粒度保持为“周”,德鲁伊是否重建段无关紧要。

由于您的数据集很小,您可以查看宁静服务器,它可以动态摄取数据而无需批量摄取。它应该适合您的用例。

于 2018-05-11T11:54:47.410 回答