Hive 1.1.0-cdh5.15.1 Неожиданные двойные кавычки добавляются в строковый столбец автоматически при загрузке данных из CSV - PullRequest
0 голосов
/ 07 января 2019

У меня есть CSV, где у меня есть несколько строковых столбцов. Я создал свою структуру таблицы улья, как показано ниже.

Когда я использую команду load in path для загрузки данных в таблицу кустов, она автоматически добавляет двойные кавычки вокруг строковых столбцов, даже если их нет (ссылка на скриншот csv для ссылки).

В моем случае это добавляет двойные кавычки вокруг склада и столбца процесса. Я попытался использовать CSVSerde, но после его использования он преобразует все столбцы в строку по умолчанию.

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

Структура таблицы улья:

**create table if not exists epo.temp
(
asof_period string  
,period string  
,item_id    string  
,stockroom string
,process    string  
,tot_qty    decimal(11,2)   
)
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
TBLPROPERTIES ("skip.header.line.count"="1");
LOAD DATA INPATH 'Path_to_csv_file' into table epo.temp;**

CSV File screenshot

РЕДАКТИРОВАТЬ - Найден обходной путь Я работаю с одним из обходных путей, где я загружаю данные с помощью CSVserde в одну временную таблицу, а затем загружаю в фактическую таблицу путем приведения столбцов для желаемых типов данных. Но я был бы признателен, если бы кто-нибудь помог мне поставить более чистый подход.

...