メインコンテンツまでスキップ
バージョン: Latest-3.4

SHOW TABLET

説明

tablet に関連する情報を表示します。

注意

バージョン 3.0 以降、この操作には SYSTEM レベルの OPERATE 権限と TABLE レベルの SELECT 権限が必要です。バージョン 2.5 以前では、この操作には ADMIN_PRIV 権限が必要です。

構文

テーブルまたはパーティション内の tablets の情報をクエリする

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_idいいえtablet のレプリカが配置されている BE の ID。
STATEいいえtablet レプリカのステータス。
  • NORMAL: レプリカは正常です。
  • ALTER: レプリカに Rollup または schema change が実行されています。
  • CLONE: レプリカがクローンされています。(この状態のレプリカは使用できません)。
  • DECOMMISSION: レプリカが廃止されています。
field_nameいいえ結果をソートするフィールド。SHOW TABLET FROM <table_name> で返されるすべてのフィールドはソート可能です。
  • 結果を昇順で表示する場合は、ORDER BY field_name ASC を使用します。
  • 結果を降順で表示する場合は、ORDER BY field_name DESC を使用します。
offsetいいえ結果からスキップする tablets の数。例えば、OFFSET 5 は最初の 5 つの tablets をスキップすることを意味します。デフォルト値: 0。
limitいいえ返す tablets の数。例えば、LIMIT 10 は 10 個の tablets のみを返すことを意味します。このパラメータが指定されていない場合、フィルター条件を満たすすべての tablets が返されます。

単一の tablet の情報をクエリする

SHOW TABLET FROM <table_name> を使用してすべての tablet ID を取得した後、単一の tablet の情報をクエリできます。

SHOW TABLET <tablet_id>
パラメータ必須説明
tablet_idはいTablet ID

返されるフィールドの説明

テーブルまたはパーティション内の tablets の情報をクエリする

+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+---------------+
| TabletId | ReplicaId | BackendId | SchemaHash | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | DataSize | RowCount | State | LstConsistencyCheckTime | CheckVersion | CheckVersionHash | VersionCount | PathHash | MetaUrl | CompactionStatus | DiskRootPath |
+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+---------------+
フィールド説明
TabletIdテーブル ID。
ReplicaIdレプリカ ID。
BackendIdレプリカが配置されている BE の ID。
SchemaHashスキーマハッシュ(ランダムに生成される)。
Versionデータのバージョン番号。
VersionHashデータバージョン番号のハッシュ。
LstSuccessVersion最後に正常にロードされたバージョン。
LstSuccessVersionHash最後に正常にロードされたバージョンのハッシュ。
LstFailedVersion最後にロードに失敗したバージョン。-1 は失敗したバージョンがないことを示します。
LstFailedVersionHash最後に失敗したバージョンのハッシュ。
LstFailedTime最後にロードに失敗した時間。NULL はロード失敗がないことを示します。
DataSizetablet のデータサイズ。
RowCounttablet のデータ行数。
Statetablet のレプリカステータス。
LstConsistencyCheckTime最後の整合性チェックの時間。NULL は整合性チェックが行われていないことを示します。
CheckVersion整合性チェックが行われたデータバージョン。-1 はチェックされたバージョンがないことを示します。
CheckVersionHash整合性チェックが行われたバージョンのハッシュ。
VersionCountデータバージョンの総数。
PathHashtablet が保存されているディレクトリのハッシュ。
MetaUrlより多くのメタ情報をクエリするために使用される URL。
CompactionStatusデータバージョンの Compaction ステータスをクエリするために使用される URL。
DiskRootPathレプリカが配置されているディスク。

特定の 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: 指定されたテーブル内のすべての tablets の情報をクエリします。以下の例は、返された情報から 1 つの 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 内の tablets の情報をクエリします。

    SHOW TABLET FROM test_show_tablet partition(p20210103);
  • 例 4: 10 個の tablets の情報を返します。

        SHOW TABLET FROM test_show_tablet limit 10;
  • 例 5: オフセット 5 で 10 個の tablets の情報を返します。

    SHOW TABLET FROM test_show_tablet limit 5,10;
  • 例 6: backendidversion、および state で tablets をフィルタリングします。

        SHOW TABLET FROM test_show_tablet
    WHERE backendid = 10004 and version = 1 and state = "NORMAL";
  • 例 7: version で tablets をソートします。

        SHOW TABLET FROM table_name where backendid = 10004 order by version;
  • 例 8: インデックス名が test_show_tablet の tablets の情報を返します。

    SHOW TABLET FROM test_show_tablet where indexname = "test_show_tablet";