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