合并列算法组件是将两张表的数据按列合并,需要表的行数保持一致,否则报错。如果两张表只有一张存在分区,则分区表需要连接第二个输入端口。
组件配置
您可以使用以下任意一种方式,配置合并列组件参数。
方式一:可视化方式
选取左表待合并的字段列,生成结果保存到右输入表的指定列。
方式二:PAI命令方式
使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本。
PAI -name appendColumns
-project algo_public
-DinputTableNames=maple_test_appendcol_basic_input1,maple_test_appendcol_basic_input2
-DoutputTableName=maple_test_appendcol_setOutCol_output
-DoutputTableColNames=x0,x1,x2,x3,x4,x5,x6,x7,x8,x9;
参数名称 | 是否必选 | 参数描述 | 默认值 |
---|---|---|---|
inputTableNames | 是 | 输入表的表名,两个表以逗号(,)分隔。 | 无 |
outputTableName | 是 | 输出表的名称 | 无 |
selectedColNamesList | 否 | 与输入表对应的已选中的列名列表:
说明 如果选择两张表所有的列,整个参数内容需用半角引号("")括起来,否则半角分号(;)会被系统作为结束标志。如果某张表全选,可以省略所有列名,但必须保留相应的半角分号(;)。
|
无 |
inputPartitionsInfoList | 否 | 与输入表对应的已选择的partition列表:
说明 如果选中所有partition,整个参数内容需要使用半角引号("")括起来,否则半角分号(;)会被系统当做结束标志。如果某张表不用按照partition分割,则可省略所有partition名,但相应半角分号(;)必须保留。
|
无 |
autoRenameCol | 否 | 输出表各列是否自动命名。 | false |
outputTableColNames | 否 | 输出表中各列的新列名,不填则输出原表中选择列的列名。
重要 如果autoRenameCol为True时,则该参数无意义。
|
无 |
lifecycle | 否 | 输出表的生命周期,取值范围为正整数。 | 无 |
coreNum | 否 | 节点个数,与参数memSizePerCore配对使用,正整数,取值范围[1, 9999]。 | 默认系统自动计算 |
memSizePerCore | 否 | 单个节点内存大小,单位MB,正整数,取值范围[1024, 64*1024]。 | 默认系统自动计算 |
示例
将以下两张源表进行合并列操作:
- 源表1
表 1. maple_test_appendcol_basic_input1 col0:bigint col1:double col2:string col3:Datetime col4:Boolean 10 0.0 aaaa 2015-10-01 00:00:00 TRUE 11 1.0 aaaa 2015-10-01 00:00:00 FALSE 12 2.0 aaaa 2015-10-01 00:00:00 TRUE 13 3.0 aaaa 2015-10-01 00:00:00 TRUE 14 4.0 aaaa 2015-10-01 00:00:00 TRUE - 源表2
表 2. maple_test_appendcol_basic_input2 col10:bigint col11:double col12:string col13:Datetime col14:Boolean 110 10.0 2aaaa 2015-10-01 00:00:00 TRUE 111 11.0 2aaaa 2015-10-01 00:00:00 FALSE 112 12.0 2aaaa 2015-10-01 00:00:00 TRUE 113 13.0 2aaaa 2015-10-01 00:00:00 TRUE 114 14.0 2aaaa 2015-10-01 00:00:00 FALSE
PAI -name appendColumns
-project algo_public
-DinputTableNames=maple_test_appendcol_basic_input1,maple_test_appendcol_basic_input2
-DoutputTableName=maple_test_appendcol_setOutCol_output
-DoutputTableColNames=x0,x1,x2,x3,x4,x5,x6,x7,x8,x9;
最终的输出表如下所示。x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 |
---|---|---|---|---|---|---|---|---|---|
10 | 0 | aaaa | 2015-10-01 00:00:00 | true | 110 | 10 | 2aaaa | 2015-10-01 00:00:00 | true |
11 | 1 | aaaa | 2015-10-01 00:00:00 | false | 111 | 11 | 2aaaa | 2015-10-01 00:00:00 | false |
12 | 2 | aaaa | 2015-10-01 00:00:00 | true | 112 | 12 | 2aaaa | 2015-10-01 00:00:00 | true |
13 | 3 | aaaa | 2015-10-01 00:00:00 | true | 113 | 13 | 2aaaa | 2015-10-01 00:00:00 | true |
14 | 4 | aaaa | 2015-10-01 00:00:00 | true | 114 | 14 | 2aaaa | 2015-10-01 00:00:00 | false |