メインコンテンツまでスキップ

SHOW TABLET

SHOW TABLET

説明

タブレットに関連する情報を表示します。

NOTE

v3.0以降では、この操作にはSYSTEMレベルのOPERATE権限とTABLEレベルのSELECT権限が必要です。v2.5以前では、この操作にはADMIN_PRIV権限が必要です。

構文

テーブルまたはパーティションのタブレット情報をクエリします

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

任意

タブレットのレプリカが格納されているBEのID。

STATE

任意

タブレットレプリカのステータス。

  • NORMAL: レプリカは正常です。
  • ALTER: レプリカでRollupまたはスキーマ変更が実行されています。
  • CLONE: レプリカがクローンされています。(この状態のレプリカは使用できません)。
  • DECOMMISSION: レプリカが廃止されています。

field_name

任意

結果をソートするフィールド。SHOW TABLET FROM <table_name>で返されるすべてのフィールドはソート可能です。

  • 昇順で結果を表示するには、ORDER BY field_name ASCを使用します。
  • 降順で結果を表示するには、ORDER BY field_name DESCを使用します。

offset

任意

結果からスキップするタブレットの数。たとえば、OFFSET 5は最初の5つのタブレットをスキップすることを意味します。デフォルト値:0。

limit

任意

返すタブレットの数。たとえば、LIMIT 10は10個のタブレットのみを返します。このパラメーターが指定されていない場合、フィルタ条件を満たすすべてのタブレットが返されます。

単一のタブレットの情報をクエリします

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

SHOW TABLET <tablet_id>

パラメーター

必須

説明

tablet_id

必須

タブレットID

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

テーブルまたはパーティションのタブレット情報をクエリします

+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+
| TabletId | ReplicaId | BackendId | SchemaHash | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | DataSize | RowCount | State | LstConsistencyCheckTime | CheckVersion | CheckVersionHash | VersionCount | PathHash | MetaUrl | CompactionStatus |
+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+

フィールド

説明

TabletId

テーブルID

ReplicaId

レプリカID

BackendId

レプリカがあるBEのID

SchemaHash

スキーマのハッシュ(ランダムに生成される)

Version

データバージョン番号

VersionHash

データバージョン番号のハッシュ

LstSuccessVersion

最後に正常にロードされたバージョン

LstSuccessVersionHash

最後に正常にロードされたバージョンのハッシュ

LstFailedVersion

最後に失敗したロードのバージョン。-1はロードに失敗したバージョンがないことを示します。

LstFailedVersionHash

最後に失敗したバージョンのハッシュ

LstFailedTime

最後に失敗したロードの時間。NULLはロードの失敗がないことを示します。

DataSize

タブレットのデータサイズ

RowCount

タブレットのデータ行数

State

タブレットのレプリカのステータス

LstConsistencyCheckTime

最後の整合性チェックの時間。NULLは整合性チェックが実行されていないことを示します。

CheckVersion

整合性チェックが実行されたデータバージョン。-1はバージョンのチェックがないことを示します。

CheckVersionHash

整合性チェックが実行されたバージョンのハッシュ

VersionCount

データバージョンの総数

PathHash

タブレットが保存されているディレクトリのハッシュ

MetaUrl

より詳細なメタ情報をクエリするためのURL

CompactionStatus

データバージョンの圧縮状態をクエリするためのURL

特定のタブレットの情報をクエリします

+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+
| DbName | TableName | PartitionName | IndexName | DbId | TableId | PartitionId | IndexId | IsSync | DetailCmd |
+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+

フィールド

説明

DbName

タブレットが所属するデータベースの名前

TableName

タブレットが所属するテーブルの名前

PartitionName

タブレットが所属するパーティションの名前

IndexName

インデックス名

DbId

データベースID

TableId

テーブルID

PartitionId

パーティションID

IndexId

インデックスID

IsSync

タブレット上のデータがテーブルメタと一致しているかどうか。trueはデータが一致しており、タブレットが正常であることを示します。falseはタブレット上のデータが欠落していることを示します。

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: 指定されたテーブルのすべてのタブレットの情報をクエリします。以下の例では、戻り情報から1つのタブレットの情報の一部が抜粋されています。

        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
  • 例2: タブレットID 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のタブレットの情報をクエリします。

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

        SHOW TABLET FROM test_show_tablet limit 10;
  • 例5: オフセット5を持つ10個のタブレットの情報を返します。

    SHOW TABLET FROM test_show_tablet limit 5,10;
  • 例6: backendidversionstateでタブレットをフィルタリングします。

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

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

    SHOW TABLET FROM test_show_tablet where indexname = "test_show_tablet";