Amazon web services 为什么在调用AWS Glue bookmark的转换和接收操作时需要设置'transformation_ctx'参数?
AWS Glue Bookmark文档()似乎建议必须将Amazon web services 为什么在调用AWS Glue bookmark的转换和接收操作时需要设置'transformation_ctx'参数?,amazon-web-services,aws-glue,Amazon Web Services,Aws Glue,AWS Glue Bookmark文档()似乎建议必须将transformation\u ctx参数传递给source、transform和sink操作,书签才能工作。这反映在该页面中的示例代码中,其中所有create\u dynamic\u frame.from\u catalog()、ApplyMapping.apply()和write\u dynamic\u frame.from\u options()的调用都通过一个transformation\u ctx值传递 我可以理解将这样一个转换
transformation\u ctx
参数传递给source、transform和sink操作,书签才能工作。这反映在该页面中的示例代码中,其中所有create\u dynamic\u frame.from\u catalog()
、ApplyMapping.apply()
和write\u dynamic\u frame.from\u options()
的调用都通过一个transformation\u ctx
值传递
我可以理解将这样一个转换\u ctx
传递到创建动态框架的意义。从\u catalog()
方法,因为AWS Glue需要在给定的转换\u ctx
键下存储书签中读取的文件的信息
但是,我不明白为什么像
ApplyMapping.apply()
和write\u dynamic\u frame.from\u options()
这样的方法也需要这样做。换句话说,这些操作需要存储在书签中的状态信息是什么?如果我不向这些方法传递transformation\u ctx
,这会导致什么问题?几个月前(2019年10月),我对书签也有同样的疑问,因为Amazon提供的文档不是很清楚,我打开了一个支持案例,以了解它是如何实现的
在我的胶水工作中有:
- 从S3读取函数(粘合上下文。创建动态框架。从选项)
- 一个选择
- 对红移的写入函数(glue_context.write_dynamic_frame.from_jdbc_conf)
此外,对于write函数,它不会更改任何内容,因此没有书签逻辑,如果它以前已经运行过,则没有“避免函数”。谢谢您的回答。他们的文档确实需要改进;)。顺便说一句,你能详细解释一下“它只改变输出文件的名称”是什么意思吗?您的意思是s3文件名将根据您是否将transformatino_ctx传递给writer方法而有所不同吗?对不起,我编辑了答案,我在输出中对不同的名称有错误