Durid概述
Apache Druid是一个集时间序列数据库、数据仓库和全文检索系统特点于一体的分析性数据平台。本文将带你简单了解Druid的特性,使用场景,技术特点和架构。这将有助于你选型数据存储方案,深入了解Druid存储,深入了解时间序列存储等。
Apache Druid是一个高性能的实时分析型数据库。
上篇文章,我们了解了Druid的加载方式,
咱么主要说两种,一种是加载本地数据,一种是通过kafka加载流式数据。
数据摄取
4.1 加载本地文件
我们导入演示案例种的演示文件
4.1.1.1 数据选择
通过UI选择
local disk
并选择
Connect data
4.1.1.2 演示数据查看
演示数据在
quickstart/tutorial
目录下的wikiticker-2015-09-12-sampled.json.gz
文件
4.1.1.3 选择数据源
因为我们是通过
imply
安装的,在Base directory
输入绝对路径/usr/local/imply/imply-2021.05-1/dist/druid/quickstart/tutorial
,File filter
输入wikiticker-2015-09-12-sampled.json.gz
,并选择apply
应用配置,我们数据已经加载进来了
Base directory
和File filter
分开是因为可能需要同时从多个文件中摄取数据。
4.1.1.4 加载数据
数据定位后,您可以点击"Next: Parse data"来进入下一步。
数据加载器将尝试自动为数据确定正确的解析器。在这种情况下,它将成功确定
json
。可以随意使用不同的解析器选项来预览Druid如何解析您的数据。
4.1.2 数据源规范配置
4.1.2.1 设置时间列
json
选择器被选中后,点击Next:Parse time
进入下一步来决定您的主时间列。
Druid的体系结构需要一个主时间列(内部存储为名为_time
的列)。如果您的数据中没有时间戳,请选择 固定值(Constant Value)
。在我们的示例中,数据加载器将确定原始数据中的时间列是唯一可用作主时间列的候选者。
这里可以选择时间列,以及时间的显示方式
4.1.2.2 设置转换器
在这里可以新增虚拟列,将一个列的数据转换成另一个虚拟列,这里我们没有设置,直接跳过
4.1.2.3 设置过滤器
这里可以设置过滤器,对于某些数据可以不进行显示,这里我们也跳过
4.1.2.4 配置schema
在
Configure schema
步骤中,您可以配置将哪些维度和指标摄入到Druid中,这些正是数据在被Druid中摄取后出现的样子。 由于我们的数据集非常小,关掉rollup、确认更改。
4.1.2.5 配置Partition
一旦对schema满意后,点击
Next
后进入Partition
步骤,该步骤中可以调整数据如何划分为段文件的方式,因为我们数据量非常小,这里我们按照DAY
进行分段
4.1.3 提交任务
4.1.3.1 发布数据
点击完成
Tune
步骤,进入到Publish
步,在这里我们可以给我们的数据源命名,这里我们就命名为druid-sampled
,