EXPORT
功能
该语句用于将指定表的数据导出到指定位置。
这是一个异步操作,任务提交成功后返回结果。执行后可使用 SHOW EXPORT 命令查看进度。
注意
导出操作需要目标表的 EXPORT 权限。如果您的用户账号没有 EXPORT 权限,请参考 GRANT 给用户赋权。
语法
EXPORT TABLE <table_name>
[PARTITION (<partition_name>[, ...])]
[(<column_name>[, ...])]
TO <export_path>
[opt_properties]
WITH BROKER
[broker_properties]
参数说明
-
table_name
待导出数据所在的表。目前支持导出
engine
为olap
或mysql
的表。 -
partition_name
要导出的分区。如不指定则默认导出表中所有分区的数据。
-
column_name
要导出的列。列的导出顺序可以和源表结构 (Schema) 不同。如不指定则默认导出表中所有列的数据。
-
export_path
导出的目标路径。如果是目录,需要以斜杠 (/) 结尾。否则最后一个斜杠后面的部分会作为导出文件的前缀。如不指定文件名前缀,则默认文件名前缀为
data_
。 -
opt_properties
导出相关的属性配置。
语法:
[PROPERTIES ("<key>"="<value>", ...)]
配置项:
配置项 描述 column_separator 指定导出文件的列分隔符。默认值: \t
。line_delimiter 指定导出文件的行分隔符。默认值: \n
。load_mem_limit 指定导出任务在单个 BE 节点上的内存使用上限。单位:字节。默认内存使用上限为 2 GB。 timeout 指定导出任务的超时时间。单位:秒。默认值: 86400
(1 天)。include_query_id 指定导出文件名中是否包含 query_id
。取值范围:true
和false
。默认值:true
。true
表示包含,false
表示不包含。 -
WITH BROKER
在 v2.4 及以前版本,您需要在导出语句中通过
WITH BROKER "<broker_name>"
来指定使用哪个 Broker。自 v2.5 起,您不再需要指定broker_name
,但继续保留WITH BROKER
关键字。参见从 使用 EXPORT 导出数据 > 背景信息。 -
broker_properties
用于提供访问数据源的鉴 权信息。数据源不同,需要提供的鉴权信息也不同,参考 BROKER LOAD。
示例
将表中所有数据导出到 HDFS
将 testTbl
表中的所有数据导出到 HDFS 集群的指定路径下。
EXPORT TABLE testTbl
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);
将表中部分分区的数据导出到 HDFS
将 testTbl
表中 p1
和 p2
分区的数据导出到 HDFS 集群的指定路径下。
EXPORT TABLE testTbl
PARTITION (p1,p2)
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);
指定分隔符
将 testTbl
表中的所有数据导出到 HDFS 集群的指定路径下,以 ,
作为导出文件的列分隔符。
EXPORT TABLE testTbl
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
PROPERTIES
(
"column_separator"=","
)
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);
将 testTbl
表中的所有数据导出到 HDFS 集群的指定路径下,以 Hive 默认分隔符 \x01
作为导出文件的列分隔符。
EXPORT TABLE testTbl
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
PROPERTIES
(
"column_separator"="\\x01"
)
WITH BROKER;