Konversi Tipe adalah komponen pemrosesan data yang mengonversi fitur dari berbagai tipe data ke STRING, DOUBLE, atau INT. Komponen ini juga mengisi nilai yang hilang saat terjadi kesalahan konversi untuk menjaga integritas dan konsistensi data.
Deskripsi algoritma
-
Mengonversi tipe data bidang tabel ke tipe lain.
-
Secara simultan mengonversi beberapa bidang ke tipe data yang berbeda.
-
Mengonversi bidang dengan tipe data numerik ODPS 2.0, seperti decimal, float, dan int.
CatatanFitur ini hanya tersedia di wilayah China (Beijing), China (Shanghai), China (Hangzhou), China (Shenzhen), China (Zhangjiakou), dan China (Chengdu).
-
Menyediakan opsi untuk menyimpan kolom data asli.
Konfigurasi Komponen
Metode 1: Konfigurasi visual
Dalam alur kerja Designer, tambahkan komponen Type Conversion dan konfigurasikan parameternya di panel kanan:
|
Jenis parameter |
Parameter |
Deskripsi |
|
Field Settings |
Columns to convert to DOUBLE |
Mengonversi bidang yang dipilih ke tipe DOUBLE. |
|
Default fill value for DOUBLE conversion errors |
Nilai default yang digunakan jika konversi ke tipe DOUBLE gagal. |
|
|
Columns to convert to INT |
Mengonversi bidang yang dipilih ke tipe INT. |
|
|
Default fill value for INT conversion errors |
Nilai default yang digunakan jika konversi ke tipe INT gagal. |
|
|
Columns to convert to STRING |
Mengonversi bidang yang dipilih ke tipe STRING. |
|
|
Default fill value for STRING conversion errors |
Nilai default yang digunakan jika konversi ke tipe STRING gagal. |
|
|
Keep Original Columns |
Awalan untuk nama kolom adalah "typed_". |
|
|
Memory Size per Node |
Rentang nilai: 1.024 MB hingga 65.536 MB. |
|
|
Number of Nodes |
Digunakan bersama parameter Memory size per node. Rentang nilai: 1 hingga 9.999. |
Metode 2: Perintah PAI
Anda dapat menggunakan perintah PAI untuk mengonfigurasi komponen Type Conversion. Anda dapat menjalankan perintah PAI menggunakan komponen SQL Script. Untuk informasi selengkapnya, lihat SQL Script.
pai -project algo_public
-name type_transform_v1
-DinputTable=type_test
-Dcols_to_string="f0"
-Ddefault_double_value=0.0
-DoutputTable=type_test_output;
|
Parameter |
Wajib |
Nilai default |
Deskripsi |
|
inputTable |
Ya |
Tidak ada |
Nama tabel input. |
|
inputTablePartitions |
Tidak |
Semua partisi |
Partisi dalam tabel input yang digunakan untuk pelatihan. Format berikut didukung:
Catatan
Jika Anda menentukan beberapa partisi, pisahkan dengan koma (,). |
|
outputTable |
Ya |
Tidak ada |
Tabel sink untuk hasil konversi tipe. |
|
reserveOldFeat |
Tidak |
Tidak ada |
Menentukan apakah kolom data asli disimpan. |
|
cols_to_double |
Tidak |
Tidak ada |
Kolom fitur yang akan dikonversi ke tipe DOUBLE. |
|
cols_to_string |
Tidak |
Tidak ada |
Kolom fitur yang akan dikonversi ke tipe STRING. |
|
cols_to_int |
Tidak |
Tidak ada |
Kolom fitur yang akan dikonversi ke tipe INT. |
|
default_int_value |
Tidak |
0 |
Nilai yang digunakan ketika bidang fitur kosong. |
|
default_double_value |
Tidak |
0.0 |
Nilai yang digunakan ketika bidang fitur kosong. |
|
default_string_value |
Tidak |
"" |
Nilai yang digunakan ketika bidang fitur kosong. |
|
coreNum |
Tidak |
Dihitung secara otomatis |
Jumlah node. Gunakan parameter ini bersama memSizePerCore. Rentang nilai: 1 hingga 9999. |
|
memSizePerCore |
Tidak |
Dihitung secara otomatis |
Ukuran memori satu node, dalam MB. Rentang nilai: 1024 hingga 65536. |
|
lifecycle |
Tidak |
7 |
Siklus hidup tabel output. |
Contoh
-
Buat data uji
create table transform_test as select * from ( select true as f0,2.0 as f1,1 as f2 union all select false as f0,3.0 as f1,1 as f2 union all select false as f0,4.0 as f1,1 as f2 union all select true as f0,3.0 as f1,1 as f2 union all select false as f0,3.0 as f1,1 as f2 union all select false as f0,4.0 as f1,1 as f2 union all select true as f0,3.0 as f1,1 as f2 union all select false as f0,5.0 as f1,1 as f2 union all select false as f0,3.0 as f1,1 as f2 union all select true as f0,4.0 as f1,1 as f2 union all select false as f0,3.0 as f1,1 as f2 union all select true as f0,4.0 as f1,1 as f2 )tmp; -
Lihat data pelatihan
f0
f1
f2
false
3.0
1
false
3.0
1
true
2.0
1
true
4.0
1
false
4.0
1
false
3.0
1
false
3.0
1
true
3.0
1
false
4.0
1
true
4.0
1
false
5.0
1
true
3.0
1
-
Perintah pelatihan PAI
pai -project projectxlib4 -name type_transform_v1 -DinputTable=transform_test -Dcols_to_double=f0 -Dcols_to_int=f1 -Dcols_to_string=f2 -DoutputTable=trans_test_output; -
Deskripsi output
Tabel hasil
f0
f1
f2
0.0
3
1
0.0
3
1
1.0
2
1
1.0
4
1
0.0
4
1
0.0
3
1
1.0
3
1
0.0
4
1
0.0
3
1
0.0
5
1
1.0
3
1
1.0
4
1