在 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 胶水的时间戳中提取年份