在 aws 胶水中使用 transformation_ctx 是啥?

Posted

技术标签:

【中文标题】在 aws 胶水中使用 transformation_ctx 是啥?【英文标题】:What is transformation_ctx used for in aws glue?在 aws 胶水中使用 transformation_ctx 是什么? 【发布时间】:2018-06-26 07:27:55 【问题描述】:

There are API 中的很多方法都收到了默认的 "" 值。

它只是字符串标记,但它的目的又是什么?

【问题讨论】:

关于 donwvoting 或关闭 - 我在文档中搜索 (17.01.2018) 并没有找到关于该字段的任何描述 :( 有人知道吗? 【参考方案1】:

认为这是怎么回事。我希望 AWS 文档能明确说明。

仅书签只会让您在下一条数据(例如 S3 中的下一个文件)中获取信息。但是对于具有动态框架的复杂作业,作业本身是有状态的。要恢复处理,您不仅需要接收下一条输入,还需要恢复上次运行期间在动态框架中建立的状态。 transformation_ctx 类似于保存动态帧状态的文件名。您必须为其命名,因为 AWS Glue 不会分析您的脚本以确定哪个动态框架调用是哪个。

主要从 Tracking Processed Data Using Job Bookmarks 推断,与其他答案链接的页面相同,但在引用后文本有所澄清:

许多 AWS Glue PySpark 动态框架方法都包含一个名为 transformation_ctx 的可选参数,它是 ETL 运算符实例的唯一标识符。 transformation_ctx 参数用于标识给定操作员的作业书签中的状态信息。具体来说,AWS Glue 使用 transformation_ctx 来索引书签状态的键。

【讨论】:

【参考方案2】:

正如link 中所述,transformation_ctx 参数用于作业书签。如果您不想启用作业书签,请不要传递参数。

此外,如果您想使用作业书签,则启用作业书签参数并使用transformation_ctx 参数传递值。

【讨论】:

【参考方案3】:

许多 AWS Glue PySpark 动态框架方法都包含一个名为 transformation_ctx 的可选参数,用于识别作业书签的状态信息。如果不传入 transformation_ctx 参数,则不会为方法中使用的动态框架或表格启用作业书签。

https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html

【讨论】:

但是你应该传入什么? 我也有同样的问题。我应该在 transformation_ctx 参数中传递什么? 应该是string,用作书签的ID。

以上是关于在 aws 胶水中使用 transformation_ctx 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 aws 胶水中使用 transformation_ctx 是啥?

如何使用 pyspark 从 aws 胶水的时间戳中提取年份

如何使用 pyspark 在 aws 胶水中展平嵌套 json 中的数组?

为啥我的 aws 胶水作业只使用一个执行器和驱动程序?

使用 pyspark 和 aws 胶水进行数据转置

如何从 AWS 胶水访问 VPC 中的 aws 资源?