MTable Expanderを使用して、MTableをテーブルに展開できます。
制限事項
このコンポーネントは、MaxCompute、Flink、およびDeep Learning Containers (DLC) の計算エンジンをサポートしています。
Platform for AI (PAI) コンソールでのコンポーネントの設定
入力ポート
入力ポート (左から右へ)
データ型
推奨上流コンポーネント
必須/任意
data
なし
可
コンポーネントパラメータ
タブ
項目
説明
フィールド設定
selectedCol
計算された列の名前。 このパラメーターの値は、MTABLE形式のSTRING型です。
reservedCols
アルゴリズムによって予約される列。
パラメーター設定
スキーマ
展開された列の名前とタイプ。 このパラメーターの値は、
colname coltype[, colname2, coltype2[, ...]]
形式です。 たとえば、値はf0 string, f1 bigint, f2 double
です。handleInvalidMethod
無効な値を処理するために使用されるメソッド。 有効な値:
ERROR: エラーが返されます。 デフォルト値です。
SKIP: 無効な値はスキップされます。
実行チューニング
数の労働者
労働者の数。 このパラメーターは、Memory per worker, unit MBパラメーターと一緒に使用する必要があります。 このパラメーターの値は正の整数でなければなりません。 有効な値: [1,9999] 。
ワーカあたりのメモリ、単位MB
各ワーカーのメモリサイズ。 有効値: 1024〜64 × 1024。 単位:MB。
コーディングによるコンポーネントの設定
次のコードをPyAlink Scriptコンポーネントのコードエディターにコピーできます。 これにより、PyAlinkスクリプトコンポーネントはMTable Expanderコンポーネントのように機能します。
import numpy as np
import pandas as pd
from pyalink.alink import *
df_data = pd.DataFrame([
["a1", "11L", 2.2],
["a1", "12L", 2.0],
["a2", "11L", 2.0],
["a2", "12L", 2.0],
["a3", "12L", 2.0],
["a3", "13L", 2.0],
["a4", "13L", 2.0],
["a4", "14L", 2.0],
["a5", "14L", 2.0],
["a5", "15L", 2.0],
["a6", "15L", 2.0],
["a6", "16L", 2.0]
])
input = BatchOperator.fromDataframe(df_data, schemaStr='id string, f0 string, f1 double')
zip = GroupByBatchOp()\
.setGroupByPredicate("id")\
.setSelectClause("id, mtable_agg(f0, f1) as m_table_col")
flatten = FlattenMTableBatchOp()\
.setReservedCols(["id"])\
.setSelectedCol("m_table_col")\
.setSchemaStr('f0 string, f1 int')
zip.linkFrom(input).link(flatten).print()