У меня есть некоторые данные, поступающие из внешнего источника в формате:
user_id, user_name, project_name, position
"111", "Tom Petty", "Heartbreakers", "Vocals"
"222", "Ringo Starr", "Beatles, The", "Drummer"
"333", "Tom Brady", "Patriots", "QB"
И я создаю свою внешнюю таблицу таким образом:
CREATE EXTERNAL TABLE tab1 (
USER_ID String,
USER_NAME String,
PROJECT_NAME String,
POSITION String
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/user/blah/foo'
Проблема возникает, когда данные в некоторыхв столбцах есть запятые, например, Beatles, The
.Это приводит к тому, что Hive помещает слово The
в следующий столбец (позицию) и удаляет данные в последнем столбце.
Все поля входящих данных заключаются в двойные кавычки, но они разделяются запятыми, даже если ониможет иметь запятые в них.К сожалению, отправитель очищает данные - не вариант.
Как я могу создать эту таблицу?