表输入
概述
“表输入”算子,将关系型数据库表的指定列按顺序转换成同等数量的输入字段。
输入与输出
- 输入:表列
- 输出:字段
参数说明
参数 |
含义 |
类型 |
是否必填 |
默认值 |
---|---|---|---|---|
输入字段 |
配置关系型数据库输入字段的相关信息:
|
map |
是 |
无 |
数据处理规则
- 将指定的列按顺序生成字段。具体的表列是在作业配置的第二步“输入设置”中指定,当配置了“表列名”时,就是配置的值;当没配置“表列名”时,默认该表的所有列或者是“SQL语句”配置项里配置的查询条件中指明的列。
- 配置的输入字段个数不能大于实际指定的列数,否则全部数据成为脏数据。
- 当字段的值与实际的类型不匹配时,该行数据会成为脏数据。
样例
以sqlserver 2014为例,创建测试表test:
create table test (id int, name text, value text);
往测试表中插入三条数据:
insert into test values (1,'zhangshan','zhang');
insert into test values (2,'lisi','li');
insert into test values (3,'wangwu','wang');
查询表:
配置“表输入”算子,生成三个字段:
设置了数据连接器后,可以单击
,系统将自动读取数据库中的字段,可根据需要选择添加,然后根据业务场景手动进行完善或者修正即可,无需逐一手动添加。- 此操作会覆盖表格内已有数据。
- 单击
例如Oracle数据库中的“date”类型,系统会自动识别为“timestamp”类型,如果不手动处理会导致后续Hive表在查询数据时报错。
后,建议手动检查系统自动识别出的字段类型,确保与表中实际的字段类型相符合。
配置输出算子,输出到HDFS/OBS,结果如下: