型変換は、特徴を STRING、DOUBLE、INT のいずれかのデータ型に変換するデータ処理コンポーネントです。このコンポーネントは、変換エラーが発生した場合に欠損値を補完し、データの整合性と一貫性を確保します。
アルゴリズムの説明
-
テーブルフィールドのデータ型を別の型に変換します。
-
複数のフィールドを同時に異なるデータ型に変換します。
-
ODPS 2.0 の数値データ型 (10 進数、浮動小数点数、整数など) のフィールドを変換します。
説明この機能は、中国 (北京)、中国 (上海)、中国 (杭州)、中国 (深セン)、中国 (張家口)、中国 (成都) リージョンでのみ利用可能です。
-
元のデータ列を保持するオプションを提供します。
コンポーネントの設定
方法 1:ビジュアル設定
Designer のワークフローで、[型変換] コンポーネントを追加し、右側のペインでそのパラメーターを設定します。
|
パラメータータイプ |
パラメーター |
説明 |
|
フィールド設定 |
DOUBLE に変換する列 |
選択したフィールドを DOUBLE 型に変換します。 |
|
DOUBLE 変換エラー時のデフォルトの補完値 |
DOUBLE 型への変換に失敗した場合に使用するデフォルト値です。 |
|
|
INT に変換する列 |
選択したフィールドを INT 型に変換します。 |
|
|
INT 変換エラー時のデフォルトの補完値 |
INT 型への変換に失敗した場合に使用するデフォルト値です。 |
|
|
STRING に変換する列 |
選択したフィールドを STRING 型に変換します。 |
|
|
STRING 変換エラー時のデフォルトの補完値 |
STRING 型への変換に失敗した場合に使用するデフォルト値です。 |
|
|
元の列を保持 |
列名のプレフィックスは "typed_" です。 |
|
|
ノードあたりのメモリサイズ |
有効値:1024 MB~65536 MB。 |
|
|
ノード数 |
[ノードあたりのメモリサイズ] パラメーターと組み合わせて使用します。有効値:1~9999。 |
方法 2:PAI コマンド
PAI コマンドを使用して [型変換] コンポーネントを設定できます。PAI コマンドは、SQL スクリプトコンポーネントを使用して実行できます。詳細については、「SQL スクリプト」をご参照ください。
pai -project algo_public
-name type_transform_v1
-DinputTable=type_test
-Dcols_to_string="f0"
-Ddefault_double_value=0.0
-DoutputTable=type_test_output;
|
パラメーター |
必須 |
デフォルト値 |
説明 |
|
inputTable |
はい |
なし |
入力テーブルの名前。 |
|
inputTablePartitions |
いいえ |
すべてのパーティション |
トレーニングに使用する入力テーブルのパーティション。次のフォーマットがサポートされています。
説明
複数のパーティションを指定する場合は、コンマ (,) で区切ります。 |
|
outputTable |
はい |
なし |
型変換結果の結果テーブル。 |
|
reserveOldFeat |
いいえ |
なし |
元のデータ列を保持するかどうかを指定します。 |
|
cols_to_double |
いいえ |
なし |
DOUBLE 型に変換する特徴列。 |
|
cols_to_string |
いいえ |
なし |
STRING 型に変換する特徴列。 |
|
cols_to_int |
いいえ |
なし |
INT 型に変換する特徴列。 |
|
default_int_value |
いいえ |
0 |
特徴フィールドが空の場合に使用する値。 |
|
default_double_value |
いいえ |
0.0 |
特徴フィールドが空の場合に使用する値。 |
|
default_string_value |
いいえ |
"" |
特徴フィールドが空の場合に使用する値。 |
|
coreNum |
いいえ |
自動的に計算 |
ノード数。このパラメーターは memSizePerCore と一緒に使用します。有効値:1~9999。 |
|
memSizePerCore |
いいえ |
自動的に計算 |
シングルノードのメモリサイズ (MB)。有効値:1024~65536。 |
|
lifecycle |
いいえ |
7 |
出力テーブルのライフサイクル。 |
例
-
テストデータの生成
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; -
トレーニングデータの表示
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
-
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; -
出力の説明
結果テーブル
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