Перейти к основному содержимому

EXPORT

Экспортирует данные таблицы в указанное место.

Это асинхронная операция. Результат экспорта возвращается после отправки задачи экспорта. Вы можете использовать SHOW EXPORT для просмотра прогресса задачи экспорта.

ВНИМАНИЕ

Вы можете экспортировать данные из таблиц Selena только как пользователь, имеющий привилегию EXPORT на эти таблицы Selena. Если у вас нет привилегии EXPORT, следуйте инструкциям в GRANT для предоставления привилегии EXPORT пользователю, которого вы используете для подключения к кластеру Selena.

Синтаксис

EXPORT TABLE <table_name>
[PARTITION (<partition_name>[, ...])]
[(<column_name>[, ...])]
TO <export_path>
[opt_properties]
WITH BROKER
[broker_properties]

Параметры

  • table_name

    Имя таблицы. Selena поддерживает экспорт данных таблиц, у которых engine равен olap или mysql.

  • partition_name

    Разделы, из которых вы хотите экспортировать данные. По умолчанию, если вы не указываете этот параметр, Selena экспортирует данные из всех разделов таблицы.

  • column_name

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

  • export_path

    Место, в которое вы хотите экспортировать данные таблицы. Если место содержит путь, убедитесь, что путь заканчивается слешем (/). В противном случае часть после последнего слеша (/) в пути будет использована как префикс к имени экспортируемого файла. По умолчанию data_ используется как префикс имени файла, если префикс имени файла не указан.

  • opt_properties

    Дополнительные свойства, которые вы можете настроить для задачи экспорта.

    Синтаксис:

    [PROPERTIES ("<key>"="<value>", ...)]
    СвойствоОписание
    column_separatorРазделитель столбцов, который вы хотите использовать в экспортируемом файле. Значение по умолчанию: \t.
    line_delimiterРазделитель строк, который вы хотите использовать в экспортируемом файле. Значение по умолчанию: \n.
    load_mem_limitМаксимальная память, разрешенная для задачи экспорта на каждом отдельном BE. Единица: байты. Максимальная память по умолчанию составляет 2 ГБ.
    timeoutВремя, после которого задача экспорта завершается по таймауту. Единица: секунда. Значение по умолчанию: 86400, что означает 1 день.
    include_query_idУказывает, содержит ли имя экспортируемого файла query_id. Допустимые значения: true и false. Значение true указывает, что имя файла содержит query_id, а значение false указывает, что имя файла не содержит query_id.
  • WITH BROKER

    В версии 2.4 и более ранних введите WITH BROKER "<broker_name>" для указания брокера, который вы хотите использовать. Начиная с версии 1.5.0, вам больше не нужно указывать брокера, но вы все еще должны сохранить ключевое слово WITH BROKER.

  • broker_properties

    Информация, используемая для аутентификации исходных данных. Информация аутентификации варьируется в зависимости от источника данных. Для получения дополнительной информации см. BROKER LOAD.

Примеры

Экспорт всех данных таблицы в HDFS

Следующий пример экспортирует все данные таблицы testTbl в путь hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ кластера HDFS:

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);

Экспорт данных указанных разделов таблицы в HDFS

Следующий пример экспортирует данные двух разделов, p1 и p2, таблицы testTbl в путь hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ кластера HDFS:

EXPORT TABLE testTbl
PARTITION (p1,p2)
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);

Экспорт всех данных таблицы в HDFS с указанным разделителем столбцов

Следующий пример экспортирует все данные таблицы testTbl в путь hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ кластера HDFS и указывает, что запятые (,) используются как разделитель столбцов:

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
PROPERTIES
(
"column_separator"=","
)
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);

Следующий пример экспортирует все данные таблицы testTbl в путь hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ кластера HDFS и указывает, что \x01 (разделитель столбцов по умолчанию, поддерживаемый Hive) используется как разделитель столбцов:

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
PROPERTIES
(
"column_separator"="\\x01"
)
WITH BROKER;

Экспорт всех данных таблицы в HDFS с указанным префиксом имени файла

Следующий пример экспортирует все данные таблицы testTbl в путь hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ кластера HDFS и указывает, что testTbl_ используется как префикс к имени экспортируемого файла:

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/testTbl_"
WITH BROKER;

Экспорт данных в AWS S3

Следующий пример экспортирует все данные таблицы testTbl в путь s3-package/export/ корзины AWS S3:

EXPORT TABLE testTbl 
TO "s3a://s3-package/export/"
WITH BROKER
(
"aws.s3.access_key" = "xxx",
"aws.s3.secret_key" = "yyy",
"aws.s3.region" = "zzz"
);