10

Druid 用于实时和批处理。但它可以完全取代hadoop吗?如果不是为什么?比如hadoop比德鲁伊有什么优势?我读过德鲁伊与hadoop一起使用。那么可以避免使用Hadoop吗?

4

3 回答 3

6

我们在这里讨论的是两种稍微相关但非常不同的技术。

Druid 是一个实时分析系统,非常适合时间序列和基于时间的事件聚合。

Hadoop 是 HDFS(分布式文件系统)+ Map Reduce(执行分布式进程的范例),它们共同创建了一个分布式处理的生态系统,并作为许多其他开源项目的底层/影响技术。

您可以设置 druid 以使用 Hadoop;即触发 MR 作业以索引批处理数据并从 HDFS 读取其索引数据(当然它会将它们本地缓存在本地磁盘上)

如果你想忽略 Hadoop,你也可以从本地机器上进行索引和加载,当然会被限制在一台机器上。

于 2014-07-28T09:06:26.660 回答
5

你能避免将 Hadoop 与 Druid 一起使用吗?是的,您可以将数据实时流式传输到 Druid 集群中,而不是使用 Hadoop 批量加载。一种方法是将数据流式传输到Kafka,它将处理传入事件并将它们传递到Storm,然后可以处理并将它们加载到 Druid Realtime 节点中。

通常,这种设置Hadoop 并行使用,因为流式实时数据有其自己的包袱,通常需要修复和回填。整个架构被一些人称为“Lambda”

于 2014-08-01T22:26:48.120 回答
0

Druid 用于实时和批处理。但它可以完全取代hadoop吗?如果不是为什么?

这取决于你的情况。看看Druid官网文档。

Druid 是以下用例的不错选择:

  1. 插入率非常高,但更新不太常见
  2. 大多数查询是聚合和报告,具有 100 毫秒到几秒的低延迟。
  3. 数据具有时间成分
  4. 从 Kafka、HDFS、平面文件或对象存储(如 Amazon S3)加载数据

德鲁伊不是以下用例的好选择

  1. 需要使用主键对现有记录进行低延迟更新。Druid 支持流式插入,但不支持流式更新
  2. 构建一个查询延迟不是很重要的离线报告系统。
  3. 在大连接的情况下

因此,如果您正在寻找查询延迟不重要的离线报告系统,Hadoop 可能会在这种情况下得分。

于 2021-04-14T11:30:45.060 回答