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

SHOW TABLET

SHOW TABLET 显示 Tablet 相关信息。

注意

对于 v3.0 及更高版本,此操作需要 SYSTEM 级别的 OPERATE 权限和 TABLE 级别的 SELECT 权限。 对于 v2.5 及更早版本,此操作需要 ADMIN_PRIV 权限。

语法

查询表或分区中的 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要查询 Tablet 信息的表名。 您必须指定此参数。 否则,将返回错误。
partition_name要查询 Tablet 的分区名称。
version_number数据版本号。
backend_idTablet 副本所在的 BE 的 ID。
STATETablet 副本的状态。
  • NORMAL: 副本正常。
  • ALTER: 正在对副本执行 Rollup 或 Schema 变更。
  • CLONE: 副本正在被克隆。(处于此状态的副本不可用)。
  • DECOMMISSION: 副本正在被移除。
field_name结果排序所依据的字段。SHOW TABLET FROM <table_name> 返回的所有字段都可以排序。
  • 如果要按升序显示结果,请使用 ORDER BY field_name ASC
  • 如果要按降序显示结果,请使用 ORDER BY field_name DESC
offset从结果中跳过的 Tablet 数量。 例如,OFFSET 5 表示跳过前五个 Tablet。 默认值:0。
limit要返回的 Tablet 数量。 例如,LIMIT 10 表示仅返回 10 个 Tablet。 如果未指定此参数,则返回满足过滤条件的所有 Tablet。

查询单个 Tablet 的信息

使用 SHOW TABLET FROM <table_name> 获取所有 Tablet ID 后,您可以查询单个 Tablet 的信息。

SHOW TABLET <tablet_id>
参数必需描述
tablet_idTablet ID

返回值说明

查询表或分区中的 Tablet 信息

-- In shared-nothing cluster
+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+---------------+
| TabletId | ReplicaId | BackendId | SchemaHash | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | DataSize | RowCount | State | LstConsistencyCheckTime | CheckVersion | CheckVersionHash | VersionCount | PathHash | MetaUrl | CompactionStatus | DiskRootPath |
+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+---------------+
-- In shared-data cluster
+----------+-----------+----------+----------+------------+
| TabletId | BackendId | DataSize | RowCount | MinVersion |
+----------+-----------+----------+----------+------------+
字段描述
TabletIdTablet ID。
ReplicaId副本 ID。
BackendId副本所在的 BE 的 ID。
SchemaHashSchema Hash(随机生成)。
版本数据版本号。
VersionHash数据版本号的哈希值。
LstSuccessVersion上次成功加载的版本。
LstSuccessVersionHash上次成功加载的版本的哈希值。
LstFailedVersion上次加载失败的版本。-1 表示没有版本加载失败。
LstFailedVersionHash上次失败版本的哈希值。
LstFailedTime上次加载失败的时间。NULL 表示没有加载失败。
DataSizeTablet 的数据大小。
RowCountTablet 的数据行数。
StateTablet 的副本状态。
LstConsistencyCheckTime上次一致性检查的时间。NULL 表示未执行一致性检查。
CheckVersion执行一致性检查的数据版本。-1 表示未检查任何版本。
CheckVersionHash执行一致性检查的版本的哈希值。
VersionCount数据版本总数。
PathHash存储 Tablet 的目录的哈希值。
MetaUrl用于查询更多元信息的 URL。
CompactionStatus用于查询数据版本 Compaction 状态的 URL。
DiskRootPath副本所在的磁盘。
MinVersion为 Tablet 保留的最小数据版本。仅适用于共享数据集群。

查询指定 Tablet 的信息

+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+
| DbName | TableName | PartitionName | IndexName | DbId | TableId | PartitionId | IndexId | IsSync | DetailCmd |
+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+
字段描述
DbNameTablet 所属的数据库名称。
TableNameTablet 所属的表名。
PartitionNameTablet 所属的分区名称。
IndexName索引名称。
DbId数据库 ID。
TableId表 ID。
PartitionId分区 ID。
IndexId索引 ID。
IsSyncTablet 上的数据是否与表元数据一致。 true 表示数据一致且 Tablet 正常。 false 表示 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`);
  • 示例 1:查询指定表中所有 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
    DiskRootPath: /storage/disk
  • 示例 2:查询 Tablet 9588955 的信息。

        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';
  • 示例 3:查询分区 p20210103 中的 Tablet 信息。

    SHOW TABLET FROM test_show_tablet partition(p20210103);
  • 示例 4:返回 10 个 Tablet 的信息。

        SHOW TABLET FROM test_show_tablet limit 10;
  • 示例 5:返回偏移量为 5 的 10 个 Tablet 的信息。

    SHOW TABLET FROM test_show_tablet limit 5,10;
  • 示例 6:按 backendidversionstate 过滤 Tablet。

        SHOW TABLET FROM test_show_tablet
    WHERE backendid = 10004 and version = 1 and state = "NORMAL";
  • 示例 7:按 version 排序 Tablet。

        SHOW TABLET FROM table_name where backendid = 10004 order by version;
  • 示例 8:返回索引名称为 test_show_tablet 的 Tablet 的信息。

    SHOW TABLET FROM test_show_tablet where indexname = "test_show_tablet";