Перейти к основному содержимому
Версия: 2.0.x

EXPORT

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

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

ПРИМЕЧАНИЕ

Вы можете экспортировать данные из таблиц Selena только как пользователь, имеющий привилегию EXPORT для этих таблиц. Если у вас нет привилегии EXPORT, следуйте инструкциям в GRANT для предоставления привилегии EXPORT пользователю, который вы используете для подключения к вашему cluster 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

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

  • column_name

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

  • export_path

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

  • opt_properties

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

    Синтаксис:

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

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

  • broker_properties

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

Примеры

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

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

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

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

Следующий пример экспортирует данные двух partitions, p1 и p2, таблицы testTbl по пути hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ cluster 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/ cluster 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/ cluster 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/ cluster HDFS и указывает, что testTbl_ используется как префикс к имени экспортированного файла:

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

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

Следующий пример экспортирует все данные таблицы testTbl по пути s3-package/export/ bucket 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"
);