我有这个csv文件:
reference,address
V7T452F4H9,"12410 W 62TH ST, AA D"
表定义中使用了以下选项
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'quoteChar'='\"',
'separatorChar'=',')
但它仍然无法识别数据中的双引号,双引号字段中的逗号将数据弄乱。当我运行athena查询时,结果如下所示
reference address
V7T452F4H9 "12410 W 62TH ST
如何解决此问题?
2条答案
按热度按时间envsm3lx1#
看起来你还需要加上
escapeChar
. aws雅典娜文件展示了这个例子:smtd7mpg2#
我这样做是为了解决:
1-创建一个不会覆盖目标表属性的爬虫程序,我使用boto3实现了这一点,但是可以在aws控制台中创建它,这样做(更改de var):
2-编辑序列化库,我在aws控制台中这样做,比如说这篇文章(https://docs.aws.amazon.com/athena/latest/ug/glue-best-practices.html#schema-csv引号)只需更改以下内容:
再次运行爬虫。一如既往地运行爬虫程序:
4-就是这样,你的第二次运行不应该改变表中的任何数据,它只是为了测试它的工作¯_(ツ)_/¯.