Перейти к содержимому
Последнее обновление

SHOW DATA SKEW

Описание​

Оператор SHOW DATA SKEW используется для просмотра неравномерности распределения данных в таблице или партиции. Этот оператор предоставляет следующие возможности:

  • Позволяет просматривать распределение данных во всей таблице.
  • Позволяет просматривать распределение данных в указанных партициях.
  • Показывает количество строк, объём данных и процентную долю для каждого бакета.
  • Поддерживает таблицы с партициями и без них.

Синтаксис​

SHOW DATA SKEW FROM [<db_name>.]<table_name> [ PARTITION (<partition_name> [, ...]) ];

Обязательные параметры​

1. FROM [<db_name>.]<table_name>

Задаёт имя таблицы для просмотра. Можно указать имя базы данных.

Имя таблицы должно быть уникальным в пределах её базы данных.

Необязательные параметры​

1. PARTITION (<partition_name> [, ...])

Задаёт список имён партиций для просмотра.

Если этот параметр не указан, отображается распределение данных для всех партиций таблицы.

Для таблиц без партиционирования имя партиции совпадает с именем таблицы.

Возвращаемые значения​

Имя столбцаОписание
PartitionNameИмя партиции
BucketIdxИндекс бакета
AvgRowCountСреднее количество строк
AvgDataSizeСредний размер данных (в байтах)
GraphДиаграмма распределения данных
PercentДоля объёма данных этого бакета в общем объёме данных, в процентах

Требования к правам доступа​

Пользователи, выполняющие эту команду SQL, должны иметь как минимум следующие права:

ПравоОбъектПримечания
SELECTТаблицаДля просмотра таблицы требуется право SELECT.

Примечания по использованию​

  • Распределение данных отображается по двум измерениям: партициям и бакетам.
  • В столбце Graph символ > используется для наглядного представления доли данных.
  • Процентные значения указываются с точностью до двух знаков после запятой.
  • Для таблиц без партиционирования имя партиции в результате запроса совпадает с именем таблицы.

Примеры​

  • Создание таблицы с партициями и просмотр распределения её данных:

    CREATE TABLE test_show_data_skew
    (
    id int,
    name string,
    pdate date
    )
    PARTITION BY RANGE(pdate)
    (
    FROM ("2023-04-16") TO ("2023-04-20") INTERVAL 1 DAY
    )
    DISTRIBUTED BY HASH(id) BUCKETS 5
    PROPERTIES (
    "replication_num" = "1"
    );
  • Просмотр распределения данных во всей таблице:

    SHOW DATA SKEW FROM test_show_data_skew;
    +---------------+-----------+-------------+-------------+------------------------------------------------------------------------------------------------------+---------+
    | PartitionName | BucketIdx | AvgRowCount | AvgDataSize | Graph | Percent |
    +---------------+-----------+-------------+-------------+------------------------------------------------------------------------------------------------------+---------+
    | p_20230416 | 0 | 1 | 648 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 49.77 % |
    | p_20230416 | 1 | 2 | 654 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 50.23 % |
    | p_20230416 | 2 | 0 | 0 | | 00.00 % |
    | p_20230416 | 3 | 0 | 0 | | 00.00 % |
    | p_20230416 | 4 | 0 | 0 | | 00.00 % |
    | p_20230417 | 0 | 0 | 0 | | 00.00 % |
    | p_20230417 | 1 | 0 | 0 | | 00.00 % |
    | p_20230417 | 2 | 0 | 0 | | 00.00 % |
    | p_20230417 | 3 | 0 | 0 | | 00.00 % |
    | p_20230417 | 4 | 2 | 656 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 100.00% |
    | p_20230418 | 0 | 0 | 0 | | 00.00 % |
    | p_20230418 | 1 | 1 | 648 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 100.00% |
    | p_20230418 | 2 | 0 | 0 | | 00.00 % |
    | p_20230418 | 3 | 0 | 0 | | 00.00 % |
    | p_20230418 | 4 | 0 | 0 | | 00.00 % |
    | p_20230419 | 0 | 0 | 0 | | 00.00 % |
    | p_20230419 | 1 | 1 | 648 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 49.96 % |
    | p_20230419 | 2 | 0 | 0 | | 00.00 % |
    | p_20230419 | 3 | 1 | 649 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 50.04 % |
    | p_20230419 | 4 | 0 | 0 | | 00.00 % |
    +---------------+-----------+-------------+-------------+------------------------------------------------------------------------------------------------------+---------+

    Просмотр распределения данных в указанных партициях:

    SHOW DATA SKEW FROM test_show_data_skew PARTITION(p_20230416, p_20230418);
    +---------------+-----------+-------------+-------------+------------------------------------------------------------------------------------------------------+---------+
    | PartitionName | BucketIdx | AvgRowCount | AvgDataSize | Graph | Percent |
    +---------------+-----------+-------------+-------------+------------------------------------------------------------------------------------------------------+---------+
    | p_20230416 | 0 | 1 | 648 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 49.77 % |
    | p_20230416 | 1 | 2 | 654 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 50.23 % |
    | p_20230416 | 2 | 0 | 0 | | 00.00 % |
    | p_20230416 | 3 | 0 | 0 | | 00.00 % |
    | p_20230416 | 4 | 0 | 0 | | 00.00 % |
    | p_20230418 | 0 | 0 | 0 | | 00.00 % |
    | p_20230418 | 1 | 1 | 648 | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 100.00% |
    | p_20230418 | 2 | 0 | 0 | | 00.00 % |
    | p_20230418 | 3 | 0 | 0 | | 00.00 % |
    | p_20230418 | 4 | 0 | 0 | | 00.00 % |
    +---------------+-----------+-------------+-------------+------------------------------------------------------------------------------------------------------+---------+
  • Просмотр распределения данных в таблице без партиционирования:

    CREATE TABLE test_show_data_skew2
    (
    id int,
    name string,
    pdate date
    )
    DISTRIBUTED BY HASH(id) BUCKETS 5
    PROPERTIES (
    "replication_num" = "1"
    );
    SHOW DATA SKEW FROM test_show_data_skew2;
    +----------------------+-----------+-------------+-------------+---------------------------+---------+
    | PartitionName | BucketIdx | AvgRowCount | AvgDataSize | Graph | Percent |
    +----------------------+-----------+-------------+-------------+---------------------------+---------+
    | test_show_data_skew2 | 0 | 1 | 648 | >>>>>>>>>>>>>>>>>>>>>>>> | 24.73 % |
    | test_show_data_skew2 | 1 | 4 | 667 | >>>>>>>>>>>>>>>>>>>>>>>>> | 25.46 % |
    | test_show_data_skew2 | 2 | 0 | 0 | | 00.00 % |
    | test_show_data_skew2 | 3 | 1 | 649 | >>>>>>>>>>>>>>>>>>>>>>>> | 24.77 % |
    | test_show_data_skew2 | 4 | 2 | 656 | >>>>>>>>>>>>>>>>>>>>>>>>> | 25.04 % |
    +----------------------+-----------+-------------+-------------+---------------------------+---------+