繁体   English   中英

创建表 Athena 忽略行值中的逗号

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM