1. 概述
Druid的数据摄入主要包括两大类:实时数据摄入和离线数据摄入
1.1. 实时输入摄入:包括Pull, Push两种
- Pull: 需要启动一个RealtimeNode节点,通过不同的Firehose摄取不同种类的数据源。
- Push: 需要启动Tranquility或是Kafka索引服务。通过HTTP调用的方式进行数据摄入。
1.2. 离线数据摄入:可以通过Realtime节点摄入,也可以通过索引节点启动任务摄取。
本文演示环节主要基于上一章部署的集群来进行
2. 实时数据摄入
2.1 Pull模式
由于Realtime Node 没有提供高可用,可伸缩等特性,对于比较重要的场景推荐使用 Tranquility Server 或是Tranquility Kafka索引服务。
2.2 Push模式
Indexing service在前文已经介绍过了,Tranquility 是一个Scala库,它通过索引服务实现数据实时的摄取。它之所以存在,是因为Indexing service API属于低层面的。Tranquility是对索引服务进行抽象封装, 对使用者屏蔽了 创建任务,处理分区、复制、服务发现和shema rollover等环节。
#通过Tranquility 的数据摄入,可以分为两种方式
- Tranquility Server:发送方可以通过Tranquility Server 提供的HTTP接口,向Druid发送数据。
- Tranquility Kafka:发送发可以先将数据发送到Kafka,Tranquility Kafka会根据配置从Kafka获取数据,并写到Druid中。
#启动Tranquility Server
- bin/tranquility server -configFile conf/tranquility/server.json
#启动Tranquility Kafka
- bin/tranquility kafa -configFile conf/tranquility/kafka.json
#
网友评论