MYSQL LOAD
Описание
Используйте клиент MySQL для загрузки локальных файлов данных в Doris. MySQL Load представляет собой синхронный способ загрузки, который возвращает результат сразу после выполнения. Успешность загрузки можно определить по результату выполнения оператора LOAD DATA. MySQL Load обеспечивает атомарность группы задач загрузки: либо все задачи завершаются успешно, либо все завершаются с ошибкой.
Синтаксис
LOAD DATA
[ LOCAL ]
INFILE "<file_name>"
INTO TABLE "<tbl_name>"
[ PARTITION (<partition_name> [, ... ]) ]
[ COLUMNS TERMINATED BY "<column_separator>" ]
[ LINES TERMINATED BY "<line_delimiter>" ]
[ IGNORE <number> {LINES | ROWS} ]
[ (<col_name_or_user_var> [, ... ] ) ]
[ SET (col_name={<expr> | DEFAULT} [, col_name={<expr> | DEFAULT}] ...) ]
[ PROPERTIES ("<key>" = "<value>" [ , ... ]) ]
Обязательные параметры
1. <file_name>
Укажите путь к локальному файлу. Путь может быть относительным или абсолютным. В настоящее время поддерживается загрузка только одного файла, загрузка нескольких файлов не поддерживается.
2. <tbl_name>
Имя таблицы может включать имя базы данных, как показано в примерах. Если имя базы данных не указано, используется база данных текущего пользователя.
Необязательные параметры
1. LOCAL
Указание
LOCALозначает чтение файлов на стороне клиента. Если этот параметр опущен, файлы читаются из локального хранилища сервера FE. Загрузка файлов с сервера FE по умолчанию отключена. Чтобы включить эту возможность, необходимо задать параметрmysql_load_server_secure_pathна узле FE, указав безопасный путь.
2. <partition_name>
Для загрузки можно указать несколько разделов через запятую.
3. <column_separator>
Укажите разделитель столбцов.
4. <line_delimiter>
Укажите разделитель строк.
5. IGNORE <number> { LINES | ROWS }
Пользователи могут пропустить заголовок файла CSV или произвольное количество строк. Этот синтаксис также можно заменить на
IGNORE num ROWS.
6. <col_name_or_user_var>
Синтаксис сопоставления столбцов. Подробные сведения о параметрах см. в разделе о сопоставлении столбцов документа Преобразование данных при загрузке.
7. properties ("<key>"="<value>",...)
| Параметр | Описание параметра |
|---|---|
| max_filter_ratio | Максимально допустимая доля отфильтрованных данных, например из-за некорректного формата. По умолчанию допустимая доля равна нулю. |
| timeout | Укажите время ожидания завершения загрузки в секундах. Значение по умолчанию составляет 600 секунд, допустимый диапазон: от 1 секунды до 259,200 секунд. |
| strict_mode | Пользователи могут указать, следует ли включить строгий режим для этой загрузки. По умолчанию он отключён. |
| timezone | Укажите часовой пояс для этой загрузки. По умолчанию используется текущий часовой пояс кластера. Этот параметр влияет на результаты всех функций, связанных с часовыми поясами и используемых при загрузке. |
| exec_mem_limit | Ограничение памяти для загрузки, задаваемое в байтах. По умолчанию составляет 2GB. |
| trim_double_quotes | Параметр логического типа со значением по умолчанию false. Если установлено значение true, внешние двойные кавычки удаляются из каждого поля загружаемого файла. |
| enclose | Символ обрамления. Если поле данных CSV содержит разделитель строк или столбцов, для защиты от случайного разбиения можно указать однобайтовый символ обрамления. Например, если разделитель столбцов равен ",", символ обрамления равен "'", а данные имеют вид "a,'b,c'", то "b,c" будет распознано как одно поле. Примечание: если для enclose установлено значение "", для trim_double_quotes необходимо установить значение true. |
| escape | Символ экранирования. Используется для экранирования символов в поле CSV, совпадающих с символом обрамления. Например, если данные имеют вид "a,'b,'c'", символ обрамления равен "'" и требуется распознать "b,'c" как одно поле, необходимо указать однобайтовый символ экранирования, например "", а затем изменить данные на "a,'b,'c'". |
Требования к правам доступа
Пользователи, выполняющие эту команду SQL, должны иметь как минимум следующие права:
| Право | Объект | Примечания |
|---|---|---|
| LOAD_PRIV | Таблица | Права на загрузку данных в указанную таблицу базы данных. |
Примечания по использованию
- Оператор MySQL Load начинается с
LOAD DATAи не требует указания LABEL.
Примеры
Полные примеры загрузки локальных файлов, выбора разделов, сопоставления столбцов, использования строгого режима и других возможностей см. в разделе MySQL Load руководства по загрузке данных.