[英]Create table Athena ignore comma in the row values
我正在使用以下脚本在 Athena 中创建一个表
CREATE EXTERNAL TABLE `itcfmetadata`(
`itcf id` string,
`itcf control name` string,
`itcf control description` string,
`itcf process` string,
`standard` string,
`controlid` string,
`threshold` string,
`status` string,
`date reported` string,
`remediation (accs specific)` string,
`aws account id` string,
`aws resource id` string,
`aws account owner` string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
LOCATION
's3://itcfmetadata/'
TBLPROPERTIES (
'skip.header.line.count'='1');
S3 源文件是 csv 文件。 这个文件是从一个excel文件转换而来的,这个csv文件没有逗号分隔值,它更像是一个excel文件。 问题是当任何列包含诸如“嗨,你好吗”之类的文本时。 它被分成两部分,因为有一个逗号,“嗨”和“你好吗”变成两个值并分成两行。 如何使用上面的创建脚本避免这种情况?
CSV 文件:
尝试使用
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
而不是DELIMITED
DELIMITED
解串器只查看您提供的分隔符。 csv deserializet 将只使用一对双引号"
之外的那些。
查看文档: https : //docs.aws.amazon.com/athena/latest/ug/csv-serde.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.