MTable聚合

该组件将Table按照分组列聚合成MTable。

使用限制

支持的计算引擎为MaxCompute、FlinkDLC。

可视化配置组件参数

  • 输入桩

    输入桩(从左到右)

    数据类型

    建议上游组件

    是否必选

    数据

  • 组件参数

    页签

    参数

    描述

    字段设置

    选择的列名

    计算列对应的列名列表。

    分组列名数组

    分组列名,多列,可选,默认不选,代表全量数据聚合。

    参数设置

    输出结果列列名

    输出结果列列名。

    执行调优

    节点个数

    单个节点内存大小参数配对使用。取值为[1, 9999]的正整数。

    单个节点内存大小,单位M

    取值范围为1024 MB~64*1024 MB。

通过代码方式配置组件

您可以将以下代码复制到PyAlink脚本组件中,使PyAlink脚本组件实现与该组件相同的功能。

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()