【问题标题】:How to write user-defined function in AWS-Glue Script?如何在 AWS-Glue 脚本中编写用户定义的函数?
【发布时间】:2018-09-21 09:26:22
【问题描述】:

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

【问题讨论】:

    标签: python pyspark aws-glue


    【解决方案1】:

    dynamicframe 不完全支持 UDF,Dataframe API 支持它的方式。你会得到最好的结果是 MAP.apply。

    【讨论】:

      【解决方案2】:

      “AWS Glue 尚不直接支持 Lambda 函数,也称为用户定义函数。但您始终可以将 DynamicFrame 与 Apache Spark DataFrame 相互转换,以利用除了 DynamicFrames 的特殊功能之外的 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-18
        • 1970-01-01
        • 2023-03-09
        • 2018-01-30
        相关资源
        最近更新 更多