Kafka Topic 数据能够支持产品实时数据分析场景,本篇将介绍如何进行 Kafka 数据模型配置。
温馨提示:Kafka 数据源仅支持私有化部署模式使用,如您使用的SaaS版本,若想要使用 Kafka 数据源,可与贵公司的客户成功经理沟通,提出需求。
下面介绍两种方式创建数据连接。
(1)在数据准备模块中选择数据连接,点击新建数据连接。
(2)点击 Kafka 进行连接。
(3)填写连接的基本信息,点击测试连接,显示连接成功后点击保存。
(4)确认数据连接的基本信息无误后即完成数据连接。
(5)可使用该连接作为数据源去创建数据集:点击数据准备-->数据集,选择左上角「新建」按钮进行数据集的新建。
(6)搜索或下拉已有连接,选择之前新建好的数据源。
(1)进入火山引擎,点击数据准备-->数据集,选择左上角「新建」按钮,新建数据集。
(2)选择数据连接的时候,点击新建配置。
之后的步骤与上述 2.1 的(2)、(3)步一致,在完成上传之后会停在数据集选择数据连接的弹出框中,即可直接进行下一步的数据集创建。
(1)拖拽提取 Kafka Topic 进模型区。
输入 topic,点击提取。
return (<Alertmessage="注意" description="Kafka topic 暂不支持关联join;当topic数据量过小时,请输入json提取。" type="info"showIcon></Alert>)
(2)选择所需字段及其对应的数据类型。
配置支持嵌套 json,需使用 jsonpath 提取。 示例:outter.inner.cnt
表示获取{"outter": {"inner": {"cnt": 0}}}
中的0。
return (<Alertmessage="注意" description="不支持下划线开头的字段名称,不支持字段中包含`-`字符。" type="info"showIcon></Alert>)
(3)Kafka 数据集数据类型对应
Kafka 分区键需要能被 toDate/toDateTime。仅支持使用 int 类型的时间戳(支持秒/毫秒级),或者'2020-01-01'/'2020-01-01 00:00:00'格式的字符串。
推荐使用 int 类型时间戳。
如果使用 json 建表,json 中分区键的值也应遵守上面的规则。
分区键设置示例: ①int 类型时间戳,字段类型选择 Int64。 ②string 类型日期'2020-01-01',字段类型选择Date。 ③string 类型日期'2020-01-01 00:00:00',字段类型选择 DateTime。
return (<Alertmessage="注意" description="不支持聚合后落表,不支持覆盖历史数据。" type="info"showIcon></Alert>)
(4)嵌套字段提取
当存在多层嵌套时,可输入 json path 提取字段。
示例:
{ "body": { "cost": { "city": "Shanghai", "country": "China" } } }
若需要提取字段 city,则 json.path 为 body.cost.city
return (<Alertmessage="注意" description="json.path不支持修改,也不支持原本没有定义json.path的字段改为有定义json.path。如果需要修改此类字段,需要先删除,然后保存数据集,待修改完成后再次编辑,添加所需同名字段。如果添加字段与原来定义字段名称不同,则可以在一次编辑内完成操作。" type="info"showIcon></Alert>)
示例操作路径Ⅰ
①创建数据集时指定了字段 test 为非嵌套字段(无 json.path),类型为 Nullable(Int64)
②若想修改 test 为嵌套字段(有 json.path),则需删除 test 字段并点击保存,然后再次编辑,添加 test 字段与 json.path,保存即可
示例操作路径Ⅱ
①创建数据集时指定了字段 test 为非嵌套字段(无 json.path),类型为 Nullable(Int64)
②若想修改 test 类型为 Nullable(String),直接修改并保存即可
示例操作路径Ⅲ
①创建数据集时指定了字段 test 为嵌套字段(有 json.path),类型为 Nullable(Int64)
②若想修改 test 为非嵌套字段(无 json.path),则需要删除 test 字段,点击保存,然后再次编辑,添加 test 字段并指定类型,保存即可