У меня есть 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'
;