УЛей — экранирование косой черты и двойных кавычек одновременно

#csv #hive #escaping #bigdata

#csv #куст #экранирование #bigdata

Вопрос:

У меня есть файл CSV, который состоит из одного столбца с элементами JSON.

Файл CSV в формате таблицы

введите описание изображения здесь

Фактический необработанный файл CSV выглядит следующим образом.

 "1","user@domain.com","cus_placement=HFHWC7394wamp;status=OK{
"user_id": "bhuvi",
"phone": "9999999999",
"gat_id": 18
}" 
  

Я попытался создать внешнюю таблицу поверх нее с помощью приведенного ниже table properties

 ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
   "separatorChar" = ",",
   "quoteChar"     = """,
   "escapeChar" = "\" 
)
LOCATION 'file.csv'
  

Но автоматически усекаемые from user_id и остальные значения поступают из следующего столбца.

Какой был бы правильный escape-символ для этого?

Комментарии:

1. Ваши данные имеют символ новой строки, согласно вашему необработанному csv, там 5 строк, и первая строка заканчивается status =OK{\n . Таким образом, из «user_id» он считается 2-й строкой.

2. Да, я пытался убежать с "escapeChar" = "\n" помощью, но все равно это не работает.

3. каким должен быть разделитель строк в этом случае? n или что-то еще?

4. Да, это тоже n