跳到主要内容
版本:3.2

SHOW TABLET

功能​

查看 Tablet 相关信息。

注意

从 3.0 版本开始,该操作需要 SYSTEM 级 OPERATE 权限,以及对应表的 SELECT 权限。2.5 及之前版本,该操作需要 ADMIN_PRIV 权限。

语法​

查看某张表或某个分区内所有 Tablet 的信息​

您也可以指定 WHERE 子句来过滤符合条件的 Tablet。

SHOW TABLET
FROM [<db_name>.]<table_name>
[PARTITION(<partition_name>, ...]
[
WHERE
[version = <version_number>]
[[AND] backendid = <backend_id>]
[[AND] STATE = "NORMAL"|"ALTER"|"CLONE"|"DECOMMISSION"]
]
[ORDER BY <field_name> [ASC | DESC]]
[LIMIT [<offset>,]<limit>]
参数必选说明
db_name否数据库名称。如不指定该参数,默认使用当前数据库。
table_name是表名。必须指定,否则报错。
partition_name否分区名。
version_number否数据版本号。
backend_id否Tablet 副本所在的 BE 的 ID。
STATE否Tablet 副本的状态。
  • NORMAL:副本处于正常状态。
  • ALTER:副本正在做 Rollup 或 schema change。
  • CLONE:副本处于 clone 状态(未完成 clone 的副本暂不可用)。
  • DECOMMISSION:副本处于 DECOMMISSION 状态(下线)。
field_name否将返回结果按照指定字段升序或降序排列。SHOW TABLET FROM <table_name> 返回的字段都可以作为排序字段。
  • 如要升序排列,指定 ORDER BY field_name ASC。
  • 如要降序排列,指定 ORDER BY field_name DESC。
offset否返回结果中跳过的 Tablet 的数量,默认值为 0。例如 OFFSET 5 表示跳过前 5 个 Tablet,返回剩下的结果。
limit否查看指定数量的 Tablet。例如 LIMIT 10 会显示 10 个 Tablet 的信息。如果不指定该参数,则默认显示所有符合筛选条件的 Tablet。

查看单个 Tablet 的信息​

通过 SHOW TABLET FROM <table_name> 获取了所有 Tablet ID 后,您可以只查询某个 Tablet 的详细信息。

SHOW TABLET <tablet_id>
参数必选说明
tablet_id是Tablet 的 ID

返回结果说明​

查看某张表或分区内的所有 tablet​

+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+
| TabletId | ReplicaId | BackendId | SchemaHash | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | DataSize | RowCount | State | LstConsistencyCheckTime | CheckVersion | CheckVersionHash | VersionCount | PathHash | MetaUrl | CompactionStatus |
+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+
字段说明
TabletIdTable 的 ID。
ReplicaId副本 ID。
BackendId副本所在的 BE 的 ID。
SchemaHashSchema hash(随机生成)。
Version数据版本号。
VersionHash数据版本号的 hash。
LstSuccessVersion最后一次 load 成功的版本。
LstSuccessVersionHash最后一次 load 成功的版本的 hash。
LstFailedVersion最后一次 load 失败的版本。-1 表示不存在失败的版本。
LstFailedVersionHash最后一次 load 失败的版本的 hash。
LstFailedTime最后一次 load 失败的时间。NULL 表示没有失败。
DataSize该 Tablet 上的数据大小。
RowCount该 Tablet 上的数据行数。
StateTablet 的副本状态。
LstConsistencyCheckTime最后一次一致性检查的时间。NULL 表示没有进行一致性检查.
CheckVersion一致性检查的版本。-1 表示不存在检查版本。
CheckVersionHash一致性检查的版本的 hash。
VersionCount数据版本数。
PathHashTablet 存储目录的 hash。
MetaUrl通过 URL 查询更多的 meta 信息。
CompactionStatus通过 URL 查询 Compaction 状态。

查看单个 tablet​

+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+
| DbName | TableName | PartitionName | IndexName | DbId | TableId | PartitionId | IndexId | IsSync | DetailCmd |
+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+
字段说明
DbNameTablet 所属数据库的名称。
TableNameTablet 所属表的名称。
PartitionNameTablet 所属分区的名称。
IndexName索引名称。
DbId数据库 ID。
TableId表 ID。
PartitionId分区 ID。
IndexId索引 ID。
IsSync检查 Tablet 上的数据是否与表 meta 里的数据一致。false 表示检查项数据有缺失。true 表示检查项数据正常,即代表 Tablet 正常。
DetailCmd通过 URL 查询更多信息。

示例​

在数据库 example_db 下创建表 test_show_tablet。

CREATE TABLE `test_show_tablet` (
`k1` date NULL COMMENT "",
`k2` datetime NULL COMMENT "",
`k3` char(20) NULL COMMENT "",
`k4` varchar(20) NULL COMMENT "",
`k5` boolean NULL COMMENT "",
`k6` tinyint(4) NULL COMMENT "",
`k7` smallint(6) NULL COMMENT "",
`k8` int(11) NULL COMMENT "",
`k9` bigint(20) NULL COMMENT "",
`k10` largeint(40) NULL COMMENT "",
`k11` float NULL COMMENT "",
`k12` double NULL COMMENT "",
`k13` decimal128(27, 9) NULL COMMENT ""
) ENGINE=OLAP
DUPLICATE KEY(`k1`, `k2`, `k3`, `k4`, `k5`)
COMMENT "OLAP"
PARTITION BY RANGE(`k1`)
(PARTITION p20210101 VALUES [("2021-01-01"), ("2021-01-02")),
PARTITION p20210102 VALUES [("2021-01-02"), ("2021-01-03")),
PARTITION p20210103 VALUES [("2021-01-03"), ("2021-01-04")),
PARTITION p20210104 VALUES [("2021-01-04"), ("2021-01-05")),
PARTITION p20210105 VALUES [("2021-01-05"), ("2021-01-06")),
PARTITION p20210106 VALUES [("2021-01-06"), ("2021-01-07")),
PARTITION p20210107 VALUES [("2021-01-07"), ("2021-01-08")),
PARTITION p20210108 VALUES [("2021-01-08"), ("2021-01-09")),
PARTITION p20210109 VALUES [("2021-01-09"), ("2021-01-10")))
DISTRIBUTED BY HASH(`k1`, `k2`, `k3`);
  • 查看指定数据库下指定表的所有 Tablet 信息。以下示例仅截取其中一行 tablet 信息来说明。

    mysql> show tablet from example_db.test_show_tablet\G
    *************************** 1. row ***************************
    TabletId: 9588955
    ReplicaId: 9588956
    BackendId: 10004
    SchemaHash: 0
    Version: 1
    VersionHash: 0
    LstSuccessVersion: 1
    LstSuccessVersionHash: 0
    LstFailedVersion: -1
    LstFailedVersionHash: 0
    LstFailedTime: NULL
    DataSize: 0B
    RowCount: 0
    State: NORMAL
    LstConsistencyCheckTime: NULL
    CheckVersion: -1
    CheckVersionHash: 0
    VersionCount: 1
    PathHash: 0
    MetaUrl: http://172.26.92.141:8038/api/meta/header/9588955
    CompactionStatus: http://172.26.92.141:8038/api/compaction/show?tablet_id=9588955
  • 查看 id 为 9588955 的 Tablet 的信息。

    mysql> show tablet 9588955\G
    *************************** 1. row ***************************
    DbName: example_db
    TableName: test_show_tablet
    PartitionName: p20210103
    IndexName: test_show_tablet
    DbId: 11145
    TableId: 9588953
    PartitionId: 9588946
    IndexId: 9588954
    IsSync: true
    DetailCmd: SHOW PROC '/dbs/11145/9588953/partitions/9588946/9588954/9588955';
  • 查看表中分区 p20210103 的 Tablet 信息。

        SHOW TABLET FROM test_show_tablet partition(p20210103);
  • 返回表中 10 个 Tablet 的信息。

        SHOW TABLET FROM test_show_tablet limit 10;
  • 从偏移位置 5 开始获取 10 个 Tablet 的信息。

        SHOW TABLET FROM test_show_tablet limit 5,10;
  • 按照 backendid,version,state 字段进行过滤。

        SHOW TABLET FROM test_show_tablet
    WHERE backendid = 10004 and version = 1 and state = "NORMAL";
  • 按照 version 字段进行排序。

        SHOW TABLET FROM table_name where backendid = 10004 order by version;
  • 查看 index 名为 test_show_tablet 的 Tablet 的信息。

        SHOW TABLET FROM test_show_tablet where indexname = "test_show_tablet";
Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.