【发布时间】:2019-12-02 04:18:17
【问题描述】:
我目前使用的是 druid-Incubating-0.16.0 版本。正如https://druid.apache.org/docs/latest/tutorials/tutorial-update-data.html教程链接中提到的,我们可以使用结合firehose来更新和合并数据源的数据。
步数:1 我使用与初始结构相同的示例数据
┌──────────────────────────┬──────────┬───────┬────────┐
│ __time │ animal │ count │ number │
├──────────────────────────┼──────────┼───────┼────────┤
│ 2018-01-01T01:01:00.000Z │ tiger │ 1 │ 100 │
│ 2018-01-01T03:01:00.000Z │ aardvark │ 1 │ 42 │
│ 2018-01-01T03:01:00.000Z │ giraffe │ 1 │ 14124 │
└──────────────────────────┴──────────┴───────┴────────┘
第 2 步: 我用 appendToExisting = false 和 rollUp = true 更新了 Tiger 的数据 {"timestamp":"2018-01-01T01:01:35Z","animal":"tiger", "number":30} 并找到了结果
┌──────────────────────────┬──────────┬───────┬────────┐
│ __time │ animal │ count │ number │
├──────────────────────────┼──────────┼───────┼────────┤
│ 2018-01-01T01:01:00.000Z │ tiger │ 2 │ 130 │
│ 2018-01-01T03:01:00.000Z │ aardvark │ 1 │ 42 │
│ 2018-01-01T03:01:00.000Z │ giraffe │ 1 │ 14124 │
└──────────────────────────┴──────────┴───────┴────────┘
第 3 步: 现在我用 appendToExisting = false 和 rollUp = true 更新 giraffe 并得到以下结果
┌──────────────────────────┬──────────┬───────┬────────┐
│ __time │ animal │ count │ number │
├──────────────────────────┼──────────┼───────┼────────┤
│ 2018-01-01T01:01:00.000Z │ tiger │ 1 │ 130 │
│ 2018-01-01T03:01:00.000Z │ aardvark │ 1 │ 42 │
│ 2018-01-01T03:01:00.000Z │ giraffe │ 2 │ 14154 │
└──────────────────────────┴──────────┴───────┴────────┘
我的疑问是,在第 3 步中,老虎的数量减少了 1,但我认为它不应该改变,因为老虎的第 3 步没有变化,也没有数字变化
仅供参考,count 和 number 是 metricSpec,它们分别是 count 和 longSum。 请澄清。
当使用 ingestSegment firehose 和初始数据时
┌──────────────────────────┬──────────┬───────┬────────┐
│ __time │ animal │ count │ number │
├──────────────────────────┼──────────┼───────┼────────┤
│ 2018-01-01T00:00:00.000Z │ aardvark │ 1 │ 9999 │
│ 2018-01-01T00:00:00.000Z │ bear │ 1 │ 111 │
│ 2018-01-01T00:00:00.000Z │ lion │ 2 │ 200 │
└──────────────────────────┴──────────┴───────┴────────┘
在添加一个带有 appendToExisting = true 的新数据 {"timestamp":"2018-01-01T03:01:35Z","animal":"giraffe", "number":30} 时,我得到了
┌──────────────────────────┬──────────┬───────┬────────┐
│ __time │ animal │ count │ number │
├──────────────────────────┼──────────┼───────┼────────┤
│ 2018-01-01T00:00:00.000Z │ aardvark │ 1 │ 9999 │
│ 2018-01-01T00:00:00.000Z │ bear │ 1 │ 111 │
│ 2018-01-01T00:00:00.000Z │ lion │ 2 │ 200 │
│ 2018-01-01T00:00:00.000Z │ aardvark │ 1 │ 9999 │
│ 2018-01-01T00:00:00.000Z │ bear │ 1 │ 111 │
│ 2018-01-01T00:00:00.000Z │ giraffe │ 1 │ 30 │
│ 2018-01-01T00:00:00.000Z │ lion │ 1 │ 200 │
└──────────────────────────┴──────────┴───────┴────────┘
它是正确的和预期的输出吗?为什么汇总没有发生?
【问题讨论】:
标签: druid data-ingestion