合并列算法組件是將兩張表的數(shù)據(jù)按列合并,需要表的行數(shù)保持一致,否則報(bào)錯(cuò)。如果兩張表只有一張存在分區(qū),則分區(qū)表需要連接第二個(gè)輸入端口。

組件配置

您可以使用以下任意一種方式,配置合并列組件參數(shù)。

方式一:可視化方式

選取左表待合并的字段列,生成結(jié)果保存到右輸入表的指定列。組件配置

方式二:PAI命令方式

使用PAI命令方式,配置該組件參數(shù)。您可以使用SQL腳本組件進(jìn)行PAI命令調(diào)用,詳情請(qǐng)參見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;
參數(shù)名稱 是否必選 參數(shù)描述 默認(rèn)值
inputTableNames 輸入表的表名,兩個(gè)表以逗號(hào)(,)分隔。
outputTableName 輸出表的名稱
selectedColNamesList 與輸入表對(duì)應(yīng)的已選中的列名列表:
  • 同一個(gè)表的各列按半角逗號(hào)(,)分隔。
  • 不同表的各列按照半角分號(hào)(;)分隔。
說明 如果選擇兩張表所有的列,整個(gè)參數(shù)內(nèi)容需用半角引號(hào)("")括起來,否則半角分號(hào)(;)會(huì)被系統(tǒng)作為結(jié)束標(biāo)志。如果某張表全選,可以省略所有列名,但必須保留相應(yīng)的半角分號(hào)(;)。
inputPartitionsInfoList 與輸入表對(duì)應(yīng)的已選擇的partition列表:
  • 同一個(gè)表的各partition按照正斜線(/)分隔。
  • 不同表的partition按照半角分號(hào)(;)分隔。
說明 如果選中所有partition,整個(gè)參數(shù)內(nèi)容需要使用半角引號(hào)("")括起來,否則半角分號(hào)(;)會(huì)被系統(tǒng)當(dāng)做結(jié)束標(biāo)志。如果某張表不用按照partition分割,則可省略所有partition名,但相應(yīng)半角分號(hào)(;)必須保留。
autoRenameCol 輸出表各列是否自動(dòng)命名。 false
outputTableColNames 輸出表中各列的新列名,不填則輸出原表中選擇列的列名。
重要 如果autoRenameColTrue時(shí),則該參數(shù)無意義。
lifecycle 輸出表的生命周期,取值范圍為正整數(shù)。
coreNum 節(jié)點(diǎn)個(gè)數(shù),與參數(shù)memSizePerCore配對(duì)使用,正整數(shù),取值范圍[1, 9999] 默認(rèn)系統(tǒng)自動(dòng)計(jì)算
memSizePerCore 單個(gè)節(jié)點(diǎn)內(nèi)存大小,單位MB,正整數(shù),取值范圍[1024, 64*1024]。 默認(rèn)系統(tǒng)自動(dòng)計(jì)算

示例

將以下兩張?jiān)幢磉M(jìn)行合并列操作:
  • 源表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命令行將上述兩張?jiān)幢磉M(jìn)行合并列。
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;
最終的輸出表如下所示。
表 3. maple_test_appendcol_setOutCol_output
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