Komponen Merge Columns menggabungkan dua tabel secara berdampingan dengan menambahkan seluruh kolom dari tabel kedua ke sebelah kanan tabel pertama. Jumlah baris tetap sama—kolom digabung secara horizontal, bukan ditumpuk.
Prasyarat
Sebelum memulai, pastikan bahwa:
Kedua tabel memiliki jumlah baris yang sama. Jika jumlah baris berbeda, komponen akan mengembalikan error.
Jika salah satu tabel memiliki partisi, hubungkan tabel partisi ke port input kedua. Menghubungkannya ke port pertama menyebabkan operasi gagal.
Konfigurasikan komponen
Gunakan salah satu metode berikut.
Metode 1: Konfigurasikan komponen pada halaman pipeline
Setelah Anda memilih kolom yang akan digabung dari tabel kiri, hasilnya disimpan ke kolom yang ditentukan pada tabel kanan.

Metode 2: Gunakan perintah PAI
Kirimkan konfigurasi melalui perintah PAI appendColumns. Untuk memanggil perintah PAI dalam pipeline, gunakan komponen SQL Script.
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;Parameter
| Parameter | Wajib | Bawaan | Deskripsi |
|---|---|---|---|
inputTableNames | Ya | — | Nama dua tabel input, dipisahkan dengan koma (,). |
outputTableName | Ya | — | Nama tabel output. |
selectedColNamesList | Tidak | — | Kolom yang dipilih dari masing-masing tabel input. Pisahkan kolom dalam satu tabel dengan koma (,); pisahkan kedua tabel dengan titik koma (;). Jika Anda memilih semua kolom dari kedua tabel, bungkus nilainya dengan tanda kutip ganda (") — jika tidak, titik koma akan dianggap sebagai pengakhiran perintah. Jika Anda memilih semua kolom dari satu tabel, Anda dapat menghilangkan nama kolomnya tetapi harus tetap menyertakan titik koma. |
inputPartitionsInfoList | Tidak | — | Partisi yang dibaca dari masing-masing tabel input. Pisahkan partisi dalam satu tabel dengan garis miring (/); pisahkan kedua tabel dengan titik koma (;). Jika Anda memilih semua partisi, bungkus nilainya dengan tanda kutip ganda ("). Jika tabel tidak dipartisi, hilangkan nama partisinya tetapi tetap sertakan titik koma. |
autoRenameCol | Tidak | false | Menentukan apakah nama kolom pada tabel output akan diubah secara otomatis. Saat diatur ke true, parameter outputTableColNames diabaikan. |
outputTableColNames | Tidak | — | Nama kolom baru untuk tabel output, diterapkan secara berurutan. Jika tidak ditentukan, nama kolom asli dari kedua tabel akan digunakan. Diabaikan saat autoRenameCol bernilai true. |
lifecycle | Tidak | — | Siklus hidup tabel output. Harus berupa bilangan bulat positif. |
coreNum | Tidak | Bawaan sistem | Jumlah core yang dialokasikan. Harus berupa bilangan bulat positif dalam rentang [1, 9999]. Harus diatur bersama dengan memSizePerCore. |
memSizePerCore | Tidak | Bawaan sistem | Memori yang dialokasikan per core, dalam satuan MB. Harus berupa bilangan bulat positif dalam rentang [1024, 65536]. Harus diatur bersama dengan coreNum. |
Penanganan konflik nama kolom
Jika kedua tabel input memiliki nama kolom yang sama, tabel output akan berisi nama kolom duplikat kecuali konflik tersebut diselesaikan. Dua opsi tersedia:
Penggantian nama otomatis: Atur
autoRenameCol=true. PAI akan memberikan nama unik secara otomatis. Gunakan opsi ini jika Anda tidak perlu mengontrol nama kolom output.Pemberian nama manual: Atur
outputTableColNamesmenjadi daftar nama baru yang dipisahkan koma dan mencakup semua kolom output. Gunakan opsi ini jika langkah selanjutnya bergantung pada nama kolom tertentu.
JikaautoRenameCol=true, nilai apa pun yang ditetapkan untukoutputTableColNamesakan diabaikan.
Contoh
Contoh ini menggabungkan dua tabel berikut.
Tabel sumber 1: `maple_test_appendcol_basic_input1` (5 kolom, 5 baris)
| 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 |
Tabel sumber 2: `maple_test_appendcol_basic_input2` (5 kolom, 5 baris)
| 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 |
Jalankan perintah berikut untuk menggabungkan kedua tabel dan mengganti nama semua kolom output:
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;Tabel output maple_test_appendcol_setOutCol_output berisi semua 10 kolom (x0–x4 dari tabel sumber 1, x5–x9 dari tabel sumber 2) dan 5 baris yang sama:
| 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 |