跳到主要内容
版本: 最新版本-3.5

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显示所有负载作业,包括 STOPPEDCANCELLED 状态的作业。
STATE负载作业的状态。
ORDER BY field_name [ASC | DESC]基于指定的字段按升序或降序对返回结果进行排序。支持以下字段:IdNameCreateTimePauseTimeEndTimeTableNameStateCurrentTaskNum
  • 要按升序对返回结果进行排序,请指定 ORDER BY field_name ASC
  • 要按降序对返回结果进行排序,请指定 ORDER BY field_name DESC
如果您未指定字段或排序顺序,则返回结果默认按 Id 升序排序。
LIMIT limit将返回的负载作业数。例如,如果指定 LIMIT 10,则只会返回与过滤条件匹配的 10 个负载作业的信息。如果未指定此参数,则会显示与过滤条件匹配的所有负载作业的信息。
OFFSET offsetoffset 参数定义要跳过的负载作业数。例如,OFFSET 5 将跳过前五个负载作业并返回其余作业。offset 参数的值默认为 0

输出

参数描述
Id负载作业的全局唯一 ID,由 StarRocks 自动生成。
名称负载作业的名称。
CreateTime负载作业的创建日期和时间。
PauseTime负载作业进入 PAUSED 状态的日期和时间。
EndTime负载作业进入 STOPPED 状态的日期和时间。
DbName负载作业的目标表所属的数据库。
TableName负载作业的目标表。
State负载作业的状态,包括
  • NEED_SCHEDULE:负载作业正在等待调度。在使用 CREATE ROUTINE LOAD 或 RESUME ROUTINE LOAD 创建或恢复 Routine Load 作业后,负载作业首先进入 NEED_SCHEDULE 状态。
  • RUNNING:负载作业正在运行。您可以通过 StatisticProgress 查看 Routine Load 作业的消耗进度。
  • PAUSED:负载作业已暂停。您可以参考 ReasonOfStateChangedErrorLogUrls 进行故障排除。修复错误后,您可以使用 RESUME ROUTINE LOAD 恢复 Routine Load 作业。
  • CANCELLED:负载作业已取消。您可以参考 ReasonOfStateChangedErrorLogUrls 进行故障排除。但是,修复错误后,您无法恢复此状态下的负载作业。
  • STOPPED:负载作业已停止。您无法恢复此状态下的负载作业。
  • UNSTABLE:负载作业不稳定。如果 Routine Load 作业中的任何任务滞后(即,消耗的消息的时间戳与当前时间之差超过此 FE 参数 routine_load_unstable_threshold_second,并且数据源中存在未消耗的消息),则 Routine Load 作业将设置为 UNSTABLE 状态。
DataSourceType数据源的类型。固定值:KAFKA
CurrentTaskNum负载作业中当前的 task 数量。
JobProperties负载作业的属性,例如要消耗的分区和列映射。
DataSourceProperties数据源的属性,例如 Topic 以及 Kafka 集群中 broker 的地址和端口列表。
CustomProperties在负载作业中定义的其他数据源相关属性。
Statistic加载数据的统计信息,例如成功加载的行数、总行数和收到的数据量。
进度topic 中分区中消息的消耗进度(以 offset 衡量)。
TimestampProgresstopic 中分区中消息的消耗进度(以时间戳衡量)。
ReasonOfStateChanged负载作业处于 CANCELLED 或 PAUSED 状态的原因。
ErrorLogUrls错误日志的 URL。您可以使用 curlwget 命令访问该 URL。
TrackingSQL您可以直接运行以查询 information_schema 数据库中记录的错误日志信息的 SQL 命令。
OtherMsg有关 Routine Load 作业的所有失败负载任务的信息。
LatestSourcePositiontopic 的每个分区中最新消息的位置,这有助于检查数据加载的延迟。

示例

如果负载作业成功启动并保持在 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)

如果负载作业由于异常而处于 PAUSEDCANCELLED 状态,您可以根据返回结果中的 ReasonOfStateChangedErrorLogUrlsTrackingSQLOtherMsg 字段进行故障排除。

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)