SHOW TABLET
SHOW TABLET отображает информацию, связанную с tablet.
ПРИМЕЧАНИЕ
Для версии 3.0 и более поздних эта операция требует привилегию OPERATE на уровне SYSTEM и привилегию SELECT на уровне TABLE. Для версии 2.5 и более ранних эта операция требует привилегию ADMIN_PRIV.
Синтаксис
Запрос информации о tablets в таблице или partition
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 | Нет | Имя partition, из которого вы хотите запросить информацию о tablet. |
| version_number | Нет | Номер версии данных. |
| backend_id | Нет | ID BE, где находится replica tablet. |
| STATE | Нет | Статус replicas tablet.
|
| field_name | Нет | Поле, по которому сортируются результаты. Все поля, возвращаемые SHOW TABLET FROM <table_name>, можно сортировать.
|
| offset | Нет | Количество tablets для пропуска из результатов. Например, OFFSET 5 означает пропустить первые пять tablets. Значение по умолчанию: 0. |
| limit | Нет | Количество tablets для возврата. Например, LIMIT 10 означает вернуть только 10 tablets. Если этот параметр не указан, возвращаются все tablets, соответствующие условиям фильтра. |
Запрос информации об одном tablet
После получения всех ID tablets с помощью SHOW TABLET FROM <table_name>, вы можете запросить информацию об одном tablet.
SHOW TABLET <tablet_id>
| Параметр | Обязательный | Описание |
|---|---|---|
| tablet_id | Да | ID Tablet |
Описание возвращаемых полей
Запрос информации о tablets в таблице или partition
-- В 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 |
+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+------------------+--------------+----------+----------+-------------------+---------------+
-- В shared-data cluster
+----------+-----------+----------+----------+------------+
| TabletId | BackendId | DataSize | RowCount | MinVersion |
+----------+-----------+----------+----------+------------+
| Поле | Описание |
|---|---|
| TabletId | ID таблицы. |
| ReplicaId | ID Replica. |
| BackendId | ID BE, где находится replica. |
| SchemaHash | Hash схемы (генерируется случайно). |
| Version | Номер версии данных. |
| VersionHash | Hash номера версии данных. |
| LstSuccessVersion | Последняя успешно загруженная версия. |
| LstSuccessVersionHash | Hash последней успешно загруженной версии. |
| LstFailedVersion | Версия последней неудачной загрузки. -1 означает, что ни одна версия не была загружена с ошибкой. |
| LstFailedVersionHash | Hash последней неудачной версии. |
| LstFailedTime | Время последней неудачной загрузки. NULL означает, что ошибок загрузки не было. |
| DataSize | Размер данных tablet. |
| RowCount | Количество строк данных tablet. |
| State | Статус replica tablet. |
| LstConsistencyCheckTime | Время последней проверки согласованности. NULL означает, что проверка согласованности не выполнялась. |
| CheckVersion | Версия данных, на которой была выполнен а проверка согласованности. -1 означает, что ни одна версия не была проверена. |
| CheckVersionHash | Hash версии, на которой была выполнена проверка согласованности. |
| VersionCount | Общее количество версий данных. |
| PathHash | Hash директории, в которой хранится tablet. |
| MetaUrl | URL, используемый для запроса дополнительной мета-информации. |
| CompactionStatus | URL, используемый для запроса статуса уплотнения версий данных. |
| DiskRootPath | Диск, на котором находится replica. |
| MinVersion | Минимальная версия данных, сохраненная для tablet. Только для shared-data clusters. |
Запрос информации о конкретном tablet
+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+
| DbName | TableName | PartitionName | IndexName | DbId | TableId | PartitionId | IndexId | IsSync | DetailCmd |
+--------+-----------+---------------+-----------+------+---------+-------------+---------+--------+-----------+
| Поле | Описание |
|---|---|
| DbName | Имя базы данных, к которой принадлежит tablet. |
| TableName | Имя таблицы, к которой принадлежит tablet. |
| PartitionName | Имя partition, к которому принадлежит tablet. |
| IndexName | Имя индекса. |
| DbId | ID базы данных. |
| TableId | ID таблицы. |
| PartitionId | ID partition. |
| IndexId | ID индекса. |
| IsSync | Согласованы ли данные на tablet с метаданными таблицы. true означает, что данные согласованы, и tablet находится в нормальном состоянии. false означает, что данные на tablet отсутствуют. |
| DetailCmd | URL, используемый для запроса дополнительной информации. |
Примеры
Создайте таблицу test_show_tablet в базе данных example_db.
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 в указанной таблице. Следующий пример извлекает информацию только об одном 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: Запрос информации о tablets в partition
p20210103.SHOW TABLET FROM test_show_tablet partition(p20210103); -
Пример 4: Вернуть информацию о 10 tablets.
SHOW TABLET FROM test_show_tablet limit 10; -
Пример 5: Вернуть информацию о 10 tablets со смещением 5.
SHOW TABLET FROM test_show_tablet limit 5,10; -
Пример 6: Фильтровать tablets по
backendid,versionиstate.SHOW TABLET FROM test_show_tablet
WHERE backendid = 10004 and version = 1 and state = "NORMAL"; -
Пример 7: Сортировать tablets по
version.SHOW TABLET FROM table_name where backendid = 10004 order by version; -
Пример 8: Вернуть информацию о tablets, имя индекса которых
test_show_tablet.SHOW TABLET FROM test_show_tablet where indexname = "test_show_tablet";