首页 文章

Druid.io:通过Kafka(Druid Kafka索引服务)的流更新/覆盖现有数据

提问于
浏览
0

我正在使用 Druid Kafka indexing service从Kafka加载流 .

但是我上传的数据总是被更改,所以我需要重新加载它,并且如果数据已经加载则避免重复和冲突 .

我在德鲁伊研究关于Updating Existing Data的文档 .

但有关Hadoop Batch Ingestion的所有信息,Lookups .

是否有可能在Kafka流期间更新现有的德鲁伊数据?

换句话说,我需要使用 Kafka indexing service (来自Kafka的流)用新的值重写旧值 .

可能是重写重复的任何设置?

1 回答

  • 1

    德鲁伊在某种程度上是一个时间序列数据库,其中数据被“最终化”并在每个时间间隔写入日志 . 它可以进行聚合并优化列存储,并在“完成”数据时轻松查询 .

    通过“敲定”,我的意思是德鲁伊假定指定间隔的数据已经存在,并且它可以安全地在它们之上进行计算 . 所以这实际上意味着不支持您更新数据(就像在数据库中一样) . 您编写的任何数据都被视为新数据,并且不断添加到其计算中 .

    但德鲁伊在某种意义上是不同的,它提供了在实时索引已经发生的同一时期上传历史数据的方法 . 此批量上传将使用新的段覆盖任何段,进一步的查询将反映最新上载的批次数据 .

    所以我担心唯一的选择就是批量摄取 . 也许你仍然可以将数据发送给Kafka,但是有一个spark / gobbin工作可以进行重复数据删除并写入Hadoop . 然后有一个简单的cron作业,将这些作为批量重新索引到Druid上 .

相关问题