#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