我在S3中有一个csv文件,它没有任何引号。例如:
d24c2465e-9945645c5-4645509-a745741c7-ba9bcd1a7cfd,2046-11-27 15:46:55,2016-27 10:46:55
当我将此文件作为glue脚本/作业的输入(在其中我打算删除_User前缀)时,ETL输出将创建一个csv文件,该文件带有一些属性的引号,例如:
"d24c2465e-9945645c5-4645509-a745741c7-ba9bcd1a7cfd",:"2046-11-27 15:46:55","2016-10-27 10:46:55",“2016-10-27 10:46:55”
我已经将quoteChar设置为-1,与文档https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html相同。
datasink2 = glueContext.write_dynamic_frame.from_options(frame = applymapping1, connection_type = "s3", connection_options = {"path": "s3://test-bucket/staging/final_data"}, format = "csv", format_options = {"quoteChar":'-1'}, transformation_ctx = "datasink2")我的最终目标是使这个csv数据查询使用雅典娜。
有没有人在转型过程中遇到过这样的问题?它与数据目录中的SerDe信息有关吗?任何帮助都将不胜感激!
谢谢。
链接到在AWS论坛上发布的问题- https://forums.aws.amazon.com/thread.jspa?threadID=278073&tstart=0
发布于 2018-04-03 19:37:14
我也有同样的问题。from_options quoteChar设置似乎被忽略了。为此,我直接使用DataFrame将输出写入s3。
applymapping1.toDF() \
.write
.option("quote"," ") \
.csv("s3://bucket/path/to/output/folder")这似乎有点麻烦,但目前还有效,直到AWS给出了答案。
https://stackoverflow.com/questions/49504199
复制相似问题