Я хочу запросить файлы s3 csv для athena. Описание исходного CSV-файла: (разделитель '|')
system information
val1|val2|val3|val4|val5|
На основе этого я создаю таблицу в Афине:
Create external table dbname.fromcsv
(
col1 string,
col2 string,
col3 string,
col4 string,
col5 string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = '|')
LOCATION
's3://mybucketloc/folder/'
TBLPROPERTIES ("skip.header.line.count"='1');
После создания таблицы и запроса athena все выглядит нормально, данные хорошо разделены и т. Д.
Результат первого запроса:
col1 col2 col3 col4 col5
val1 val2 val3 val4 val5
Следующий запрос к той же таблице возвращает значения с разделителем ',', хранящиеся в одном столбце ...
col1 col2 col3 col4 col5
val1,val1,val,val4,val5
А потом в моем ведре s3 добавляются дополнительные файлы .csv.metadata
Как поступить в таком случае? Я не хочу каждый раз удалять файл .csv.metadata? Есть ли способ сохранить исходное определение таблицы создания? Я пытался изменить таблицу создания на ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
и многие другие ...