Загрузка данных CSV

Загрузка данных CSV.

Используйте fcsvparser для загрузки данных в формате CSV (значения, разделенные запятыми). Поскольку формального стандарта CSV не существует, Vertica поддерживает стандарт RFC 4180 в качестве поведения по умолчанию для fcsvparser. Другие параметры парсера упрощают различные комбинации параметров CSV в столбчатых или гибких таблицах. Использование fcsvparser анализирует следующие форматы данных CSV:

RFC 4180: анализатор формата CSV RFC4180 для гибких таблиц Vertica. Параметры этого формата фиксированы и не могут быть изменены. Традиционный: традиционный синтаксический анализатор CSV позволяет вам указать значения параметров, такие как разделитель или терминатор записи. Подробный список параметров см. На странице FCSVPARSER..

Использование настроек парсера по умолчанию.

Эти фиксированные настройки параметров применяются к формату RCF4180..

Хотя вы можете изменить значения параметров анализатора по умолчанию для файлов традиционного формата, каждое значение должно быть уникальным. Например, вы можете указать амперсанд ( & ) в качестве разделителя. Если вы это сделаете, вы также не сможете использовать амперсанд для escape-последовательности или другого значения параметра..

Используйте параметр типа, чтобы указать либо файл, совместимый с RFC 4180, либо традиционный файл. Вы можете указать тип как RCF4180. Однако сначала необходимо убедиться, что данные совместимы с предыдущими фиксированными значениями для параметров формата RFC4180. Значение параметра типа по умолчанию — RFC4180..

Загрузка данных CSV (RFC4180)

Выполните следующие действия, чтобы использовать fcsvparser для загрузки данных в формате данных CSV RFC4180..

Для выполнения этой задачи предположим, что загружаемый CSV-файл имеет следующий образец содержимого:

Создайте гибкую таблицу:

Загрузка данных CSV Загрузка данных

Загрузка данных CSV (традиционная)

Выполните следующие действия, чтобы использовать fcsvparser для загрузки данных в традиционном формате данных CSV с помощью fcsvparser. .

В этом примере CSV-файл использует $ в качестве разделителя и # в качестве признака_ записи. Образец CSV-файла для загрузки имеет следующее содержимое:

Создайте гибкую таблицу:

Отклонение повторяющихся значений.

Вы можете отклонить повторяющиеся значения, используя параметр reject_on_duplicate = true с fcsvparser. Загрузка продолжается после отклонения повторяющегося значения. В следующем примере показано, как использовать этот параметр, а затем отображаются указанное исключение и отклоненные файлы данных. Сохранение отклоненных данных в таблице, а не в файле, включает как данные, так и их исключение..

Отклонение данных о материализованных ошибках типа столбца.

Парсер fcsvparser имеет логический параметр reject_on_materialized_type_error. Установка для этого параметра значения true приводит к отклонению строк, если во входных данных существуют оба следующих условия:

Включает ключи, соответствующие существующему материализованному столбцу. Имеет значение ключа, которое не может быть преобразовано в тип данных материализованного столбца..

Следующие примеры иллюстрируют установку этого параметра..

Создайте таблицу reject_true_false с двумя настоящими столбцами:

Парсер fcsvparser использует нулевые значения, если есть несоответствие типов и вы устанавливаете для параметра reject_on_materialized_type_error значение false .

Отклонение или пропуск пустых строк.

Допустимые CSV-файлы могут содержать пустые пары «ключ-значение». Такие строки недопустимы для SQL. Вы можете управлять поведением пустых строк, отклоняя или опуская их, используя два логических параметра FCSVPARSER:

В следующем примере показано, как установить эти параметры:

Создайте гибкую таблицу:

Если имена заголовков не существуют, fcsvparser использует заголовок по умолчанию ucol n, где n — номер смещения столбца. Если имя заголовка таблицы и имя ключа совпадают, синтаксический анализатор загружает столбец со значениями, связанными с совпадающим именем ключа..

Использование параметра NULL.

Используйте параметр метаданных COPY NULL с помощью fcsvparser, чтобы загрузить значения NULL в гибкую таблицу..

В следующем примере используется этот параметр:

Создайте гибкий стол.

Обработка заголовков столбцов.

Fcsvparser позволяет вам указывать заголовки ваших столбцов с помощью параметра HEADER_NAMES =. Этот параметр полностью заменяет имена столбцов в строке заголовка источника CSV..

Например, чтобы использовать эти шесть заголовков столбцов для загружаемого файла CSV, используйте параметр fcsvparser следующим образом:

Использование меньшего количества имен заголовков, чем существующих столбцов данных, заставляет fcsvparser использовать имена по умолчанию после тех, которые вы указали. Имена заголовков по умолчанию состоят из ucol n, где n — номер смещения столбца, начиная с 0 для первого столбца. Например, если вы укажете четыре имени заголовка для таблицы с 6 столбцами, fcsvparser предоставит имена по умолчанию ucol4 и ucol5 после четвертого имени заголовка, которое вы укажете..

Если вы укажете больше заголовков, чем существующие столбцы таблицы, любые дополнительные заголовки останутся неиспользованными..

Похожие статьи