我在AWS Athena中创建了一个表,如下所示:
CREATE EXTERNAL TABLE IF NOT EXISTS default.test_line_breaks (
col1 string,
col2 string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'separatorChar' = ',',
'quoteChar' = '\"',
'escapeChar' = '\\'
)
STORED AS TEXTFILE
LOCATION 's3://bucket/test/'
Run Code Online (Sandbox Code Playgroud)
在桶中我放了一个简单的CSV文件,其中包含以下内容:
rec1 col1,rec2 col2
rec2 col1,"rec2, col2"
rec3 col1,"rec3
col2"
Run Code Online (Sandbox Code Playgroud)
当我运行数据预览请求时,SELECT * FROM "default"."test_line_breaks" limit 10;Athena会返回以下响应:

我应该如何设置ROW FORMAT正确处理字段值中的换行符?所以rec3\ncol2出现在col2.