SHOW ROUTINE LOAD
SHOW ROUTINE LOAD 用于显示 Routine Load 作业的执行信息。
您只有在拥有 StarRocks 表的 INSERT 权限时,才能管理在 StarRocks 表上运行的 Routine Load 作业。如果您没有 INSERT 权限,请按照 GRANT 中提供的说明,将 INSERT 权限授予您用于连接到 StarRocks 集群的用户。
语法
SHOW [ALL] ROUTINE LOAD [ FOR [<db_name>.]<job_name> | FROM <db_name> ]
[ WHERE [ STATE = { "NEED_SCHEDULE" | "RUNNING" | "PAUSED" | "UNSTABLE" | "STOPPED" | "CANCELLED" } ] ]
[ ORDER BY field_name [ ASC | DESC ] ]
[ LIMIT { [offset, ] limit | limit OFFSET offset } ]
提示
您可以在语句中添加 \G
选项 (例如 SHOW ROUTINE LOAD FOR <job_name>\G
) 以垂直显示返回结果,而不是通常的水平表格格式。
参数
参数 | 必需 | 描述 |
---|---|---|
db_name | 否 | 负载作业所属的数据库的名称。请注意,如果使用 FROM 子句,则此参数是必需的。 |
job_name | 否 | 负载作业的名称。请注意,如果使用 FOR 子句,则此参数是必需的。 |
ALL | 否 | 显示所有负载作业,包括 STOPPED 或 CANCELLED 状态的作业。 |
STATE | 否 | 负载作业的状态。 |
ORDER BY field_name [ASC | DESC] | 否 | 基于指定的字段按升序或降序对返回结果进行排序。支持以下字段:Id 、Name 、CreateTime 、PauseTime 、EndTime 、TableName 、State 和 CurrentTaskNum 。
Id 升序排序。 |
LIMIT limit | 否 | 将返回的负载作业数。例如,如果指定 LIMIT 10 ,则只会返回与过滤条件匹配的 10 个负载作业的信息。如果未指定此参数,则会显示与过滤条件匹配的所有负载作业的信息。 |
OFFSET offset | 否 | offset 参数定义要跳过的负载作业数。例如,OFFSET 5 将跳过前五个负载作业并返回其余作业。offset 参数的值默认为 0 。 |
输出
参数 | 描述 |
---|---|
Id | 负载作业的全局唯一 ID,由 StarRocks 自动生成。 |
名称 | 负载作业的名称。 |
CreateTime | 负载作业的创建日期和时间。 |
PauseTime | 负载作业进入 PAUSED 状态的日期和时间。 |
EndTime | 负载作业进入 STOPPED 状态的日期和时间。 |
DbName | 负载作业的目标表所属的数据库。 |
TableName | 负载作业的目标表。 |
State | 负载作业的状态,包括
|
DataSourceType | 数据源的类型。固定值:KAFKA 。 |
CurrentTaskNum | 负载作业中当前的 task 数量。 |
JobProperties | 负载作业的属性,例如要消耗的分区和列映射。 |
DataSourceProperties | 数据源的属性,例如 Topic 以及 Kafka 集群中 broker 的地址和端口列表。 |
CustomProperties | 在负载作业中定义的其他数据源相关属性。 |
Statistic | 加载数据的统计信息,例如成功加载的行数、总行数和收到的数据量。 |
进度 | topic 中分区中消息的消耗进度(以 offset 衡量)。 |
TimestampProgress | topic 中分区中消息的消耗进度(以时间戳衡量)。 |
ReasonOfStateChanged | 负载作业处于 CANCELLED 或 PAUSED 状态的原因。 |
ErrorLogUrls | 错误日志的 URL。您可以使用 curl 或 wget 命令访问该 URL。 |
TrackingSQL | 您可以直接运行以查询 information_schema 数据库中记录的错误日志信息的 SQL 命令。 |
OtherMsg | 有关 Routine Load 作业的所有失败负载任务的信息。 |
LatestSourcePosition | topic 的每个分区中最新消息的位置,这有助于检查数据加载的延迟。 |
示例
如果负载作业成功启动并保持在 RUNNING 状态,则返回的结果可能如下所示
MySQL [example_db]> SHOW ROUTINE LOAD FOR example_tbl_ordertest1\G
*************************** 1. row ***************************
Id: 10204
Name: example_tbl_ordertest1
CreateTime: 2023-12-21 21:01:31
PauseTime: NULL
EndTime: NULL
DbName: example_db
TableName: example_tbl
State: RUNNING
DataSourceType: KAFKA
CurrentTaskNum: 1
JobProperties: {"partitions":"*","rowDelimiter":"\t","partial_update":"false","columnToColumnExpr":"order_id,pay_dt,customer_name,nationality,temp_gender,price","maxBatchIntervalS":"10","partial_update_mode":"null","whereExpr":"*","timezone":"Asia/Shanghai","format":"csv","columnSeparator":"','","log_rejected_record_num":"0","taskTimeoutSecond":"60","json_root":"","maxFilterRatio":"1.0","strict_mode":"false","jsonpaths":"","taskConsumeSecond":"15","desireTaskConcurrentNum":"5","maxErrorNum":"0","strip_outer_array":"false","currentTaskConcurrentNum":"1","maxBatchRows":"200000"}
DataSourceProperties: {"topic":"lilyliuyitest4csv","currentKafkaPartitions":"0","brokerList":"xxx.xx.xx.xxx:9092"}
CustomProperties: {"kafka_default_offsets":"OFFSET_BEGINNING","group.id":"example_tbl_ordertest1_b05da08f-9b9d-4fe1-b1f2-25d7116d617c"}
Statistic: {"receivedBytes":313,"errorRows":0,"committedTaskNum":1,"loadedRows":6,"loadRowsRate":0,"abortedTaskNum":0,"totalRows":6,"unselectedRows":0,"receivedBytesRate":0,"taskExecuteTimeMs":699}
Progress: {"0":"5"}
TimestampProgress: {"0":"1686143856061"}
ReasonOfStateChanged:
ErrorLogUrls:
TrackingSQL:
OtherMsg:
LatestSourcePosition: {"0":"6"}
1 row in set (0.01 sec)
如果负载作业由于异常而处于 PAUSED
或 CANCELLED
状态,您可以根据返回结果中的 ReasonOfStateChanged
、ErrorLogUrls
、TrackingSQL
和 OtherMsg
字段进行故障排除。
MySQL [example_db]> SHOW ROUTINE LOAD FOR example_tbl_ordertest2\G
*************************** 1. row ***************************
Id: 10204
Name: example_tbl_ordertest2
CreateTime: 2023-12-22 12:13:18
PauseTime: 2023-12-22 12:13:38
EndTime: NULL
DbName: example_db
TableName: example_tbl
State: PAUSED
DataSourceType: KAFKA
CurrentTaskNum: 0
JobProperties: {"partitions":"*","rowDelimiter":"\t","partial_update":"false","columnToColumnExpr":"order_id,pay_dt,customer_name,nationality,temp_gender,price","maxBatchIntervalS":"10","partial_update_mode":"null","whereExpr":"*","timezone":"Asia/Shanghai","format":"csv","columnSeparator":"','","log_rejected_record_num":"0","taskTimeoutSecond":"60","json_root":"","maxFilterRatio":"1.0","strict_mode":"false","jsonpaths":"","taskConsumeSecond":"15","desireTaskConcurrentNum":"5","maxErrorNum":"0","strip_outer_array":"false","currentTaskConcurrentNum":"1","maxBatchRows":"200000"}
DataSourceProperties: {"topic":"mytest","currentKafkaPartitions":"0","brokerList":"xxx.xx.xx.xxx:9092"}
CustomProperties: {"kafka_default_offsets":"OFFSET_BEGINNING","group.id":"example_tbl_ordertest2_b3fada0f-6721-4ad1-920d-e4bf6d6ea7f7"}
Statistic: {"receivedBytes":541,"errorRows":10,"committedTaskNum":1,"loadedRows":6,"loadRowsRate":0,"abortedTaskNum":0,"totalRows":16,"unselectedRows":0,"receivedBytesRate":0,"taskExecuteTimeMs":646}
Progress: {"0":"19"}
TimestampProgress: {"0":"1702623900871"}
ReasonOfStateChanged: ErrorReason{errCode = 102, msg='current error rows is more than max error num'}
ErrorLogUrls: http://xxx.xx.xx.xxx:8040/api/_load_error_log?file=error_log_b25dcc7e642344b2_b0b342b9de0567db
TrackingSQL: select tracking_log from information_schema.load_tracking_logs where job_id=10204
OtherMsg:
LatestSourcePosition: {"0":"20"}
1 row in set (0.00 sec)