接上篇:https://developer.aliyun.com/article/1623066?spm=a2c6h.13148508.setting.17.49764f0enfw0YQ
数据虽然加载了,但是格式不对,我们在右侧选择:JSON:
点击之后,可以看到,(如果你解析不顺利,可以用这个尝试)点击 Add column flattening
如果正常解析,数据应该是这个样子:
ParserTime
继续点击 Next Parse Time:
Transform
继续点击 Next Transform:
- 不建议在Druid中进行复杂的数据变化操作,可考虑将这些操作放在数据预处理的过程中处理
- 这里没有定义数据转换
Filter
继续点击 Next Filter:
- 不建议在Druid中进行复杂的数据过滤操作,可以考虑将这些操作放在数据预处理中
- 这里没有定义数据过滤
Configuration Schema
点击 Next Configuration Schema:
- 定义指标列、维度列
- 定义如何在维度列上进行计算
- 定义是否在摄取数据时进行数据的合并(即RollUp),以及RollUp的粒度
此时点击右侧的:RollUp,会看到数据被聚合成了两条:
聚合结果:
Tune
点击 Next Tune:
- 定义任务执行和优化相关的参数
Publish
点击 Next Publish:
- 定义Datasource的名称
- 定义数据解析失败后采取的动作
Edit Special
点击 Next Edit spec:
- JSON串为数据摄取规范,可返回之前的步骤中进行修改,也可以直接编辑规范内容,并在之前的步骤可以看到修改的结果
- 摄取规范定义完成后,点击Submit会创建一个数据摄取的任务
Submit
点击 Submit 按钮:
数据查询
- 数据摄取规范发布后生成Supervisor
- Supervisor会启动一个Task,从kafka中摄取数据
需要等待一段时间,Datasource才会创建完毕,选择 【Datasources】板块:
点击末尾的三个小圆点,选择 Query With SQL:
会出现如下的界面,我们写入SQL,并运行:
SELECT * FROM "druid1"
执行结果如下图:
数据摄取规范
{ "type":"kafka", "spec":{ "ioConfig":Object{...}, "tuningConfig":Object{...}, "dataSchema":Object{...} } }
- dataSchema:指定传入数据的Schema
- ioConfig:指定数据的来源和去向
- tuningConfig:指定各种摄取参数