文章目录
Export语法和结果
一、语法
二、结果
Export语法和结果
一、语法
Export 需要借助 Broker 进程访问远端存储,不同的 Broker 需要提供不同的参数,这里以导出到HDFS为例介绍Export 写法,也可以通过"help export "命令查看export使用方式:
EXPORT TABLE db1.tbl1
PARTITION (p1,p2)
[WHERE [expr]]
TO "hdfs://host/path/to/export/"
PROPERTIES
(
"label" = "mylabel",
"column_separator"=",",
"columns" = "col1,col2",
"exec_mem_limit"="2147483648",
"timeout" = "3600"
)
WITH BROKER "brokername"
(
"username" = "user",
"password" = "passwd"
);
以上导出参数的解释如下:
- label:本次导出作业的标识。后续可以使用这个标识查看作业状态,也可以不指定,会自动生成一个label。
- column_separator:列分隔符。默认为 \t。支持不可见字符,比如 '\x07'。
- columns:要导出的列,使用英文状态逗号隔开,如果不填这个参数默认是导出表的所有列。
- line_delimiter:行分隔符。默认为 \n。支持不可见字符,比如 '\x07'。
- exec_mem_limit: 表示 Export 作业中,一个查询计划在单个 BE 上的内存使用限制。默认 2GB。单位字节。
- timeout:作业超时时间。默认 2小时。单位秒。
- tablet_num_per_task:每个查询计划分配的最大分片数。默认为 5。
提交作业后,可以通过Show Export命令查询导出作业的状态,Show Export用法如下:
SHOW EXPORT
[FROM db_name]
[
WHERE
[ID = your_job_id]
[STATE = ["PENDING"|"EXPORTING"|"FINISHED"|"CANCELLED"]]
[LABEL = your_label]
]
[ORDER BY ...]
[LIMIT limit];
Show Export 解释如下:
- 如果不指定 db_name,使用当前默认db
- 如果指定了 STATE,则匹配 EXPORT 状态
- 可以使用 ORDER BY 对任意列组合进行排序
- 如果指定了 LIMIT,则显示 limit 条匹配记录。否则全部显示
二、结果
执行"show export "后,返回结果如下:
mysql> show EXPORT\G;
*************************** 1. row ***************************
JobId: 14008
State: FINISHED
Progress: 100%
TaskInfo: {"partitions":["*"],"exec mem limit":2147483648,"column separator":",","line delimiter":"\n","tablet num":1,"broker":"hdfs","coord num":1,"db":"default_cluster:db1","tbl":"tbl3"}
Path: hdfs://host/path/to/export/
CreateTime: 2022-06-25 17:08:24
StartTime: 2022-06-25 17:08:28
FinishTime: 2022-06-25 17:08:34
Timeout: 3600
ErrorMsg: NULL
1 row in set (0.01 sec)
以上结果返回各个参数的解释如下:
- JobId:作业的唯一 ID
- State:作业状态:
- PENDING:作业待调度
- EXPORTING:数据导出中
- FINISHED:作业成功
- CANCELLED:作业失败
- Progress:作业进度。该进度以查询计划为单位。假设一共 10 个查询计划,当前已完成 3 个,则进度为 30%。
- TaskInfo:以 Json 格式展示的作业信息:
- db:数据库名
- tbl:表名
- partitions:指定导出的分区。* 表示所有分区。
- exec mem limit:查询计划内存使用限制。单位字节。
- column separator:导出文件的列分隔符。
- line delimiter:导出文件的行分隔符。
- tablet num:涉及的总 Tablet 数量。
- broker:使用的 broker 的名称。
- coord num:查询计划的个数。
- Path:远端存储上的导出路径。
- CreateTime/StartTime/FinishTime:作业的创建时间、开始调度时间和结束时间。
- Timeout:作业超时时间。单位是秒。该时间从 CreateTime 开始计算。
- ErrorMsg:如果作业出现错误,这里会显示错误原因。
- 📢博客主页:https://lansonli.blog.csdn.net
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨