如何将输入参数传递给 AWS Glue Map.apply 函数

Posted

技术标签:

【中文标题】如何将输入参数传递给 AWS Glue Map.apply 函数【英文标题】:How to pass input parameter to AWS Glue Map.apply function 【发布时间】: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

【问题讨论】:

【参考方案1】:

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

【讨论】:

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

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

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

【讨论】:

以上是关于如何将输入参数传递给 AWS Glue Map.apply 函数的主要内容,如果未能解决你的问题,请参考以下文章

可以将哪些选项传递给 AWS Glue DynamicFrame.toDF()?

如何使用 GET 请求将参数传递给 AWS Lambda 函数?

RMarkdown:如何将参数传递给在 R 中定义为变量的 bash 块?

将 JVM 参数传递给 AWS Elastic Beanstalk 上的 Java 应用程序

将命令行参数传递给 AWS Fargate 容器

如何将参数传递给无服务器调用本地