MTableアセンブラーを使用して、テーブル内の列をグループ化し、データをMTableに集約できます。
制限事項
サポートされている計算エンジンは、MaxCompute、Flink、およびDeep Learning Containers (DLC) です。
Platform for AI (PAI) コンソールでのコンポーネントの設定
入力ポート
入力ポート (左から右へ)
データ型
推奨上流コンポーネント
必須/任意
data
なし
可
コンポーネントパラメータ
タブ
項目
説明
フィールド設定
selectedCols
計算された列の名前のリスト。
groupCols
グループ化する列の名前。 このパラメーターはオプションです。 1つ以上の列を選択できます。 このパラメーターはデフォルトでは空のままで、完全なデータ集約を示します。
パラメーター設定
outputCol
出力結果列の名前。
実行チューニング
数の労働者
労働者の数。 このパラメーターは、Memory per worker, unit MBパラメーターと一緒に使用する必要があります。 このパラメーターの値は正の整数でなければなりません。 有効な値: [1,9999] 。
ワーカあたりのメモリ、単位MB
各ワーカーのメモリサイズ。 有効値: 1024〜64 × 1024。 単位:MB。
コードを使用したコンポーネントの設定
次のコードをPyAlink Scriptコンポーネントのコードエディターにコピーできます。 これにより、PyAlinkスクリプトコンポーネントはMTableアセンブラコンポーネントのように機能します。
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()