DIS如何实现转储数据至DWS的特定列
DIS支持将源数据类型为JSON格式的数据转储至DWS。转储前,需要配置源数据Schema。
源数据Schema,即用户的JSON数据样例,用于描述JSON数据格式。DIS可以根据此JSON数据样例生成Avro schema, 将通道内上传的JSON数据转换为Parquet或CarbonData格式。
- 参考创建源数据Schema,创建源数据Schema。如下以添加转储任务时创建源数据Schema为例进行说明。
- 选择源数据类型是Json的通道。
- 在通道详情页面的“转储任务”页签,单击“添加转储任务”。
- 转储服务类型选择DWS,通过导入文件的方式配置源数据Schema。
- 输入源数据样例,单击“转换源数据样例”并提交,生成源数据Schema。
图1 创建源数据Schema
- 配置Schema属性过滤功能。
schema过滤功能,只针对源数据schema根节点或一级子节点非array类型,才有效。即管理源数据Schema创建的源数据schema,满足根节点或一级子节点非array类型,界面才呈现此配置。
- 打开Schema过滤开关。
- 在源数据属性名列表中,勾选对应的属性名,完成DWS表中指定列的映射。
源数据属性名列表中的属性由源数据Schema的name字段生成,匹配DWS的列名称。
- 如图2所示,源数据属性名只选择id,即少于对应表的总字段。
DWS侧创建集群,并执行如下命令创建表。
CREATE TABLE dis_test3(id TEXT,dev TEXT,online BIGINT,module TEXT default 'a',logTime TEXT,appId TEXT,event TEXT);
- DIS侧转储数据至DWS成功后,登录集群数据库查询dis_test3表格数据,可看到仅id列和module列插入数据,其中module列是默认数据。如图3所示。