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_namePartitions, из которых вы хотите экспортировать данные. По умолчанию, если вы не указываете этот параметр, Selena экспортирует данные из всех partitions таблицы.
-
column_nameСтолбцы, из которых вы хотите экспортировать данные. Последовательность столбцов, указанных с помощью этого параметра, может отличаться от схемы таблицы. По умолчанию, если вы не указываете этот параметр, Selena экспортирует данные из всех столбцов таблицы.
-
export_pathМестоположение, в которое вы хотите экспортировать данные таблицы. Если местоположение содержит путь, убедитесь, что путь заканчивается слэшем (/). В противном случае часть после последнего слэша (/) в пути будет использована как префикс к имени экспортированного файла. По умолчанию,
data_используется как префикс имени файла, если префикс имени файла не указан. -
opt_propertiesОпциональные свойства, которые вы можете настроить для задачи эк спорта.
Синтаксис:
[PROPERTIES ("<key>"="<value>", ...)]Property Description 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"
);