如何解决在胶水中使用ResolveChoice
我能够创建一个小的粘合作业,以将数据从一个S3存储桶中提取到另一个存储桶中,但并不清楚下面代码中的最后几行。
applymapping1 = ApplyMapping.apply(frame = datasource_lk,mappings = [("row_id","bigint","row_id","bigint"),("Quantity","long","Quantity","long"),("Category","string","Category","string") ],transformation_ctx = "applymapping1")
selectfields2 = SelectFields.apply(frame = applymapping1,paths = ["row_id","Category"],transformation_ctx = "selectfields2")
resolvechoice3 = ResolveChoice.apply(frame = selectfields2,choice = "MATCH_CATALOG",database = "mydb",table_name = "order_summary_csv",transformation_ctx = "resolvechoice3")
datasink4 = glueContext.write_dynamic_frame.from_catalog(frame = resolvechoice3,transformation_ctx = "datasink4")
job.commit()
- 从上面的代码片段中,“ ResolveChoice”的用途是什么?是强制性的吗?
- 当我运行此作业时,它已在目的地(order_summary.csv)中创建了一个新的文件夹和文件(带有一些随机文件名),并导入了数据,而不是直接将其导入驻留在我的order_summary_csv表(一个CSV文件)中S3文件夹。 spark(Glue)是否可以将数据提取到所需的CSV文件中?
解决方法
我认为这个 ResolveChoice apply 方法调用已经过时,因为文档中没有像“MATCH_CATALOG”这样的选择
ResolveChoice 背后的总体思路是,如果您有包含 int 值和字符串值的字段 - 您应该解决如何处理该字段:
- 将其转换为 Int
- 将其转换为字符串
- 保留两者并在结果数据集中创建 2 列
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。