Athena无法读取CSV字段中的多行文本。

0

【以下的问题经过翻译处理】 我有一个CSV文件

"one","two","three","four","five","six","seven","eight","nine","ten"

"one","two","three","four","five " quote " five2","six","seven","eight","nine","ten"

"one","two","three","four","five \

five2","six","seven","eight","nine","ten"

第二行是正常的,第三行有一个字段带有“转义引号”,第四行有转义的换行符。由于有换行符,该表无法正确导入。是否有其他方法?

我找到了一种方法,但它不正确。

CREATE EXTERNAL TABLE IF NOT EXISTS test-general-log.general-log ( A string, B string, C string, D string, E string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = '"([^"])","([^"])"' ) LOCATION 's3://test-general-log/exportedlogs/0baa57384-2c6e-4e016-85f0-bc58b31e6300/' TBLPROPERTIES ('has_encrypted_data'='false');

profile picture
专家
已提问 5 个月前9 查看次数
1 回答
0

【以下的回答经过翻译处理】 您可以使用OpenCSVSerDe来导入CSV文件,但不支持嵌入式换行符。 https://docs.aws.amazon.com/zh_cn/athena/latest/ug/csv-serde.html

您可以通过以下方式在Glue Job中使用Parquet SerDe来保留换行符。 https://yohei-a.hatenablog.jp/entry/20191015/1571066002

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则