我在S3中有一个csv文件,它没有任何引号 . 例如 .
dVsdfsCcn7j6,r:werwerwerwerwerwerwer,_User $ SSSSSBFwJ,登录名,密码,false,2011-10-27 10:46:55,d24c2465e-9945645c5-4645509-a745741c7-ba9bcd1a7cfd,2046-11-27 15:46:55,2016 -10-27 10:46:55
当我将此文件作为胶水脚本/作业的输入(我打算删除_User前缀)时,ETL输出会创建一个csv文件,该文件的引号附加到某些属性,例如:
dVsdfsCcn7j6,“r:werwerwerwerwerwerwer”,“_ User $ SSSSSBFwJ”,登录名,密码,false,“2011-10-27 10:46:55”,“d24c2465e-9945645c5-4645509-a745741c7-ba9bcd1a7cfd”,“2046-11 -27 15: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")
我的最终目标是使用Athena使这个csv数据可查询 .
在转型期间有没有人遇到过这样的问题?它是否与数据目录的SerDe信息有关?任何帮助将不胜感激!
谢谢 .
链接到AWS论坛上发布的问题 - https://forums.aws.amazon.com/thread.jspa?threadID=278073&tstart=0
1 回答
我一直有同样的问题 . from_options quoteChar设置似乎被忽略了 . 我通过直接使用DataFrame将输出写入s3来解决这个问题 .
这似乎有点hacky但现在可以使用,直到AWS得到答案 .