Apache Druid相关概念
2023-05-31 05:46:38 8 举报
AI智能生成
为你推荐
查看更多
Apache Druid相关概念
作者其他创作
大纲/内容
输入:各个数据源的数据kafka,hdfs,本地数据等等
输出:segment(时间列,维度列,指标列)
数据摄入,运行在druid middleManager节点上
Interval
DataSource
version
外部
时间列(__time)
维度列
指标列:count,sum等等
内部
dataSchema:构造出来的数据结构
ioConfig: 数据输入描述,不同数据源类型,属性不一样
tuningConfig:任务调优参数:Segment生成策略,索引类型,数据丢弃策略等等
context: 关于任务全局性质的配置,如任务Java进程的option信息
dataSource:表示该任务为那个Datasource 构造Segment
结构
index_kafka
Kinesis
Stream
index_parallel
index_hadoop
Batch
类型
Task
实时数据摄入的管理者
Supervisor 运行在Overlord进程中
一个Supervisor对应一个DataSource
一个Supervisor会在运行过程中提交多个task
Supervisor定义与Task定义类似,可以认为实时Task是由Supervisor 克隆出来的
Supervisor
数据摄入相关
相当于关系型数据库的表
Schema包含三部分
DataSource数据存储的基本单位
数据以时间列(__time)作为分段字段
一个DataSource包含多个Segment
每个Segment的schema都是相互独立的
Segment
数据组织相关
保留时长
保留到那些Historical节点上
控制DataSource中历史segment的保存规则
Forever
IntervalLoad
Period
Load
Drop
主要分两大类:Load和Drop
一个Datasource包含1个或多个Rule规则,存储在一个数组中
定时检测DataSource的每一个Segment,只要Segment满足某个Rule规则,后面的规则Rule就不再运行
Rule
数据管理相关
Datasource Schema是动态变化的:随着其segment变化而变化
Task的运行过程中,会产生一个或者多个Segment
Segment粒度(segmentGranularity):体现在segment Interval属性
Segment文件内部,具有相同时间粒度的数据聚合在一起
数据查询时最小的时间粒度
数据聚合粒度(queryGranularity)
两个粒度说明
实时任务 由Supervisor生成
离线任务 需要用户通过提交接口生产
任务来源
特别说明
Druid概念
0 条评论
回复 删除
下一页