Может ли Redshift Spectrum обрабатывать завершающий пробел после поля, заключенного в двойные кавычки, при чтении CSV-файла? - PullRequest
1 голос
/ 21 января 2020

У меня есть CSV-файл, поля которого заключены в двойные кавычки. Я создал над ней внешнюю таблицу Redshift, используя OpenCSVSerDe. Проблема в том, что у одной из моих строк в файле есть пробел за двойными кавычками. Примерно так:

"name1" ,"123","something"
"name2","234","somethingelse"

Теперь SELECT во внешней таблице возвращает NULL в первой строке первого столбца.

       123  something
name2  234  somethingelse

Однако функция S3 SELECT возвращает правильные значения как показано ниже:

name1  123  something
name2  234  somethingelse

Есть ли какое-либо свойство на уровне таблицы, которое я могу использовать для правильного извлечения данных, или это ограничение?

Таблица DDL:

CREATE EXTERNAL TABLE test_table
(
 column1 varchar(50)
,column2 varchar(50)
,column3 varchar(100)
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ('separatorChar' = ',') --checked with and without this
STORED AS textfile
LOCATION 's3://s3bucketlocation'
;
...