#hive #hiveql
#улей #hiveql
Вопрос:
Я выполняю загрузку данных, где каждая строка содержит символы «в начале и конце полей и запятую в качестве разделителя, как показано ниже:
"sU92", "eRouter1.0"
"sU92" "," eRouter1.0 "
"sU9.2", "eRouter1.0"
Обратите внимание, что во второй строке есть 2 двойные кавычки (2 «) и что в третьей строке есть запятая между числами 9 и 2 (9,2).
Всякий раз, когда я пытаюсь создать таблицу с разделителем, равным запятой и с quotechar = ' "'
, записи прерываются.
Ответ №1:
Создать таблицу без включения отмены кавычек, использовать LasySimpleSerDe
(по умолчанию)
create table mytable(
col1 string,
col2 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;
Затем снимите кавычки со строк и удалите лишние пробелы при выборе, используя, например regexp_replace
:
trim(regexp_replace(str, '\"',''))