选择提取方法
Druid支持流式(实时)和基于文件(批量)的数据提取方式。最常用的配置是:
- Files - 通过HDFS、S3、本地文件或者任何支持hadoop文件系统批量加载数据。如果你的数据集已经在这类文件系统中推荐使用这个方法。
- Stream push - 使用Tranquility(向Druid发送流的客户端)将实时数据流推送到Druid。如果你的数据集来自于流式系统,如Kafka, Storm, Spark Streaming或者自建的流系统,推荐使用此方法。
- Stream pull - 使用实时节点直接从外部数据源将数据流拉入Druid。
入门
最简单的方式是通过学习下面三个教程来开始加载自己的数据:
- 基于文件的教程,介绍如何通过本地磁盘加载数据。
- 基于streams的教程,介绍如何通过HTTP推送数据。
- 基于kafka的教程,介绍如何从kafka加载数据。
批处理、流式混合模式
在batch/streaming架构中,你可以混合使用批处理、流式的方法。在混合(Hybrid )模式中,您可以使用流式方法来执行初次提取,然后以批处理方式定期提取旧数据(通常是每几小时或者夜维)。当Druid重新获取时间范围内的数据时,新数据会自动替换早期提取的数据。
在某些故障情况下,当下所有的Druid流式数据传输方法都会导致数据的丢失或重复。通过批量重新摄取数据可以消除历史数据中的这种潜在的威胁。
如果您因任何原因需要修改数据,则批量重新提取还可让您重新提取数据。