MTable展开

该组件将MTable展开成Table,方便用户进行数据处理和展示。

支持的计算资源

MaxCompute/Flink/DLC

可视化配置组件

  • 输入桩

    输入桩(从左到右)

    数据类型

    建议上游组件

    是否必选

    数据

  • 组件参数

    参数类型

    参数

    描述

    字段设置

    选中的列名

    计算列对应的列名,类型是STRING,格式是MTABLE。

    算法保留列名

    选择算法保留列。

    参数设置

    Schema

    展开的列名和类型。格式为colname coltype[, colname2, coltype2[, ...]],例如f0 string, f1 bigint, f2 double

    处理无效值的方法

    处理无效值的方法,取值如下:

    • ERROR(默认值):抛异常。

    • SKIP:跳过。

    执行调优

    底层Alink作业使用的计算资源

    MaxCompute

    使用MaxCompute/Flink计算资源,节点个数和单节点占用的内存大小配置方法请参见附录:如何预估资源的使用量

    Flink

    DLC

    使用DLC计算资源,请根据界面提示配置资源规格。

通过代码方式配置组件

您可以将以下代码复制到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()