• 功能介绍
  • 参数说明
  • 脚本示例
    • 脚本代码
    • 脚本运行结果

    功能介绍

    该组件提供批式 UDF 功能。

    在Python环境中,可以提供含eval函数的对象或者lambda函数作为UDF。

    参数说明

    以下为Python脚本中的参数:

    名称 中文名称 描述 类型 是否必须? 默认值
    func UDF 函数 UDF 函数 含eval函数的对象或者lambda函数
    outputCol 输出结果列列名 输出结果列列名 String
    resultType 输出结果列类型 输出结果列类型 String
    selectedCols 选择的列名 计算列对应的列名列表 String[]
    reservedCols 算法保留列名 算法保留列 String[] null

    脚本示例

    脚本代码

    1. class PlusOne(object):
    2. def eval(self, x):
    3. return x + 1
    4. pass
    5. source = CsvSourceBatchOp()\
    6. .setSchemaStr("sepal_length double, sepal_width double, petal_length double, petal_width double, category string")\
    7. .setFilePath("http://alink-dataset.cn-hangzhou.oss.aliyun-inc.com/csv/iris.csv")
    8. udfOp = UDFBatchOp() \
    9. .setFunc(PlusOne()) \
    10. .setResultType("DOUBLE") \
    11. .setSelectedCols(['sepal_length']) \
    12. .setOutputCol('sepal_length_t') \
    13. .setReservedCols(['sepal_width'])
    14. res = udfOp.linkFrom(source)
    15. res.firstN(10).print()

    脚本运行结果

    1. sepal_length_t sepal_width
    2. 0 6.0 3.2
    3. 1 7.6 3.0
    4. 2 6.4 3.9
    5. 3 6.0 2.3
    6. 4 6.1 3.5
    7. 5 6.0 2.0
    8. 6 6.5 3.5
    9. 7 7.2 3.4
    10. 8 6.6 2.7
    11. 9 7.8 2.8