Text/CSV/JSON
В этом документе описана поддержка чтения и записи текстовых файлов различных форматов в Doris.
Text/CSV
-
Catalog
Поддерживается чтение таблиц Hive в формате
org.apache.hadoop.mapred.TextInputFormat.Поддерживаются следующие SerDe:
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDeorg.apache.hadoop.hive.serde2.OpenCSVSerde(начиная с версии 2.1.7)org.apache.hadoop.hive.serde2.MultiDelimitSerDe(начиная с версии 3.1.0)
-
Табличная функция
-
Импорт
Функция импорта поддерживает форматы Text/CSV. Подробности см. в документации по импорту.
-
Экспорт
Функция экспорта поддерживает форматы Text/CSV. Подробности см. в документации по экспорту.
Поддерживаемые форматы сжатия
- без сжатия
- gzip
- deflate
- bzip2
- zstd
- lz4
- snappy
- lzo
JSON
Catalog
-
org.apache.hadoop.hive.serde2.JsonSerDe(начиная с версии 3.0.4) -
org.apache.hive.hcatalog.data.JsonSerDe(начиная с версии 3.0.4)- Поддерживаются как примитивные, так и сложные типы.
- Свойство
timestamp.formatsв SERDEPROPERTIES не поддерживается.
-
Таблица Hive в формате
org.openx.data.jsonserde.JsonSerDe(начиная с версии 3.0.6)- Поддерживаются как примитивные, так и сложные типы.
- SERDEPROPERTIES: поддерживается только
ignore.malformed.json, поведение которого соответствует поведению в этом JsonSerDe. Остальные SERDEPROPERTIES не действуют. - Не поддерживается
Using Arrays(аналогично формату Text/CSV, где данные всех столбцов помещаются в один массив). - Не поддерживается
Promoting a Scalar to an Array(преобразование скалярного значения в массив из одного элемента). - По умолчанию Doris корректно определяет схему таблицы. Однако из-за отсутствия поддержки некоторых параметров автоматическое определение схемы может завершиться неудачей. В этом случае можно установить
read_hive_json_in_one_column = true, чтобы поместить всю строку JSON в первый столбец и обеспечить полное чтение исходных данных. Затем пользователи могут обработать их вручную. Для использования этой возможности первый столбец должен иметь тип данныхString.
Импорт
Функция импорта поддерживает форматы JSON. Подробности см. в документации по импорту.
Набор символов
В настоящее время Doris поддерживает только кодировку UTF-8. Однако некоторые данные, например данные в таблицах Hive в формате Text, могут содержать текст в кодировке, отличной от UTF-8. Это приводит к сбоям при чтении и следующей ошибке:
Only support csv data in utf8 codec
В этом случае можно установить переменную сеанса следующим образом:
SET enable_text_validate_utf8 = false
Это отключит проверку кодировки UTF-8 и позволит прочитать такие данные. Обратите внимание: этот параметр лишь пропускает проверку, а содержимое в кодировке, отличной от UTF-8, по-прежнему будет отображаться как нечитаемый текст.
Этот параметр поддерживается начиная с версии 3.0.4.