Одним из возможных решений может быть использование Hive CSV SerDe (Serializer/Deserializer)
. Он дает возможность указать custom delimiters, quote, and escape characters
.
Ограничение:
Он не обрабатывает embedded newlines
Доступность:
CSV Serde
доступна в Hive 0.14 и больше.
фона:
CSV SerDe
основан из https://github.com/ogrodnek/csv-serde, и добавляли к распределению Hive
в HIVE-7777.
Использование:
Это SerDe
действует для максимум CSV data
, но не обрабатывается embedded newlines
. Для использования SerDe
укажите полное имя класса org.apache.hadoop.hive.serde2.OpenCSVSerde
.
оригинальная документация доступна по адресу: https://github.com/ogrodnek/csv-serde.
CREATE TABLE my_table(a string, b string, ...)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = "\t",
"quoteChar" = "'",
"escapeChar" = "\\"
)
STORED AS TEXTFILE;
По умолчанию разделитель, цитирую, и управляющие символы, если неустановленный
DEFAULT_ESCAPE_CHARACTER \
DEFAULT_QUOTE_CHARACTER "
DEFAULT_SEPARATOR ,
Артикул: Hive csv-serde