功能介绍

该组件提供批式 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("https://alink-release.oss-cn-beijing.aliyuncs.com/data-files/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