【问题标题】:How to pass input parameter to AWS Glue Map.apply function如何将输入参数传递给 AWS Glue Map.apply 函数
【发布时间】:2020-12-11 16:30:45
【问题描述】:

我正在从事一项 AWS Glue 工作,我有一个函数 "some_function",我想在 DynamicFrame dy_f 上应用该函数,但我还想将输入参数传递给 some_function。

Map.apply(frame=products_combination, f=search)

some_function 的定义是:

some_function(record, k)

到目前为止我已经尝试过: 作品:

Map.apply(frame=products_combination, f=search) ##provided i'm not taking k as input in some_function def as well

什么是错误:

Map.apply(frame=products_combination, f=search(k=10))

这会返回“TypeError: search() missing 1 required positional argument: 'record'”

如何将参数传递给 Map.apply 函数?我已经浏览了 [这里] 的文档,但在那里找不到我的解决方案。1

【问题讨论】:

    标签: amazon-web-services pyspark aws-glue distributed-system aws-glue-spark


    【解决方案1】:

    我最终使用了 Spark udf 而不是 DynamicFrame.Map.apply。为我工作。

    【讨论】:

    • 这需要您离开动态框架护栏。任何不需要您使用数据框的分辨率?
    【解决方案2】:

    您始终可以使用 lambda 传递其他参数:

    Map.apply(frame=products_combination, f=lambda record: search(record, k=10))
    

    【讨论】:

      猜你喜欢
      • 2022-07-26
      • 1970-01-01
      • 2019-07-05
      • 2016-04-10
      • 2017-12-30
      • 2022-06-10
      • 2015-12-07
      • 2019-02-18
      • 2017-12-25
      相关资源
      最近更新 更多