如何在AWS-Glue脚本中编写用户定义的函数?

时间:2018-09-21 09:26:23

标签: python pyspark aws-glue

我们如何在动态框架或数据框架上使用PySpark(Python)在AWS-Glue脚本中编写用户定义的函数?

1 个答案:

答案 0 :(得分:0)

  

“ AWS Glue尚不直接支持Lambda函数(也称为用户定义函数)。但是,除了DynamicFrames的特殊功能之外,您始终可以将DynamicFrame与Apache Spark DataFrame相互转换以利用Spark功能。 ”。   - AWS Glue Medicaid Python samples

AWS Glue Medicaid Python示例(在上面引用/链接)包括一个Spark UDF示例:

from pyspark.sql.functions import udf
from pyspark.sql.types import StringType

chop_f = udf(lambda x: x[1:], StringType())
medicare_dataframe = medicare_dataframe.withColumn(
        "ACC", chop_f(
            medicare_dataframe["average covered charges"])).withColumn(
                "ATP", chop_f(
                    medicare_dataframe["average total payments"])).withColumn(
                        "AMP", chop_f(
                            medicare_dataframe["average medicare payments"]))
medicare_dataframe.select(['ACC', 'ATP', 'AMP']).show()

这只是标准的Spark代码。如果您要使用Spark SQL,请参见this databricks example