Поделиться через


Теги экстентов таблицы drop

Удаляет теги конкретных экстентов из всех или определенных экстентов таблицы. Команда выполняется в контексте определенной базы данных.

Примечание.

Сегменты данных называются экстентами, и все команды используют "экстент" или "экстенты" в качестве синонима. Дополнительные сведения об экстентах см. в разделе "Экстенты" (сегменты данных).

Существует два способа указать, какие теги следует удалить из каких экстентов:

  • Явно укажите теги, которые следует удалить из всех экстентов в указанной таблице.
  • Укажите запрос, результаты которого указывают идентификаторы экстентов в таблице, а для каждого экстента — теги, которые следует удалить.

Разрешения

У вас должны быть по крайней мере разрешения администратора таблиц для всех связанных исходных и целевых таблиц.

Синтаксис

.drop[] table Тег tableName extenttags ( [, ...]) ( = with extentCreatedOnFrom asyncFromDate ToDate , extentCreatedOnTo = )

.drop[async] table TableName extentCreatedOnFrom with extent = ( tags fromDate ToDate Query , extentCreatedOnTo = ) <|

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
async string При указании операция выполняется асинхронно.
TableName string ✔️ Имя таблицы, для которой нужно удалить теги экстентов.
Тег string ✔️ Имена тегов экстентов, которые нужно удалить.
FromDate datetime Диапазон дат начала.
ToDate datetime Диапазон дат окончания.
Запрос string ✔️ Запрос язык запросов Kusto (KQL), который возвращает теги экстентов, которые нужно удалить. См. раздел "Указание экстентов" с помощью запроса.

Примечание.

Для повышения производительности задайте extentCreatedOnFrom и extentCreatedOnTo параметры в наименьший возможный диапазон.

Ограничения

Все экстенты должны находиться в базе данных контекста и должны принадлежать одной таблице.

Возвраты

Возвращается идентификатор операции (GUID).

Совет

  • Состояние операции можно отслеживать с помощью GUID. Используйте команду .show operations.
  • .show operation details Используйте команду, чтобы получить результаты успешного выполнения.

Указание экстентов с помощью запроса

Экстенты и теги, которые нужно удалить, указываются с помощью запроса Kusto. Он возвращает набор записей с столбцом с именем ExtentId и столбцом с именем "Теги".

Примечание.

При использовании клиентской библиотеки Kusto .NET следующие методы создают требуемую команду:

  • CslCommandGenerator.GenerateExtentTagsDropByRegexCommand(string tableName, string regex)
  • CslCommandGenerator.GenerateExtentTagsDropBySubstringCommand(string tableName, string substring)

Return output

Выходной параметр Тип Описание
OriginalExtentId string Уникальный идентификатор (GUID) исходного экстента, теги которого были изменены. Экстент удаляется в рамках операции.
ResultExtentId string Уникальный идентификатор (GUID) для области результатов, в которой были изменены теги. Экстент создается и добавляется в рамках операции. При сбое — "Сбой".
ResultExtentTags string Коллекция тегов, с которыми будет помечена экстента результатов, если она останется или "null", если операция завершается ошибкой.
Сведения string Включает сведения о сбое при сбое операции.

Примеры

Удаление одного тега

Удалите тег из любой drop-by:Partition000 степени в таблице, которая помечена следующим образом:

.drop extent tags from table MyOtherTable ('drop-by:Partition000')

Удаление нескольких тегов

Удалите теги drop-by:20230312104500и a random tagdrop-by:20230312 из любой степени в таблице, помеченной любым из них:

.drop table [My Table] extent tags ('drop-by:20230312104500','a random tag','drop-by:20230312') with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12))

Удаление всех drop-by тегов в указанном диапазоне времени создания

Удалите все drop-by теги из экстентов в таблице MyTable в указанном диапазоне времени создания:

.drop table MyTable extent tags with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| 
  .show table MyTable extents 
  | where isnotempty(Tags)
  | extend Tags = split(Tags, '\r\n') 
  | mv-expand Tags to typeof(string)
  | where Tags startswith 'drop-by'

Удаление всех тегов, соответствующих определенной регрессии

Удаление всех тегов, соответствующих регрессии drop-by:StreamCreationTime_20160915(\d{6}) из экстентов в таблице MyTable:

.drop table MyTable extent tags with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| 
  .show table MyTable extents 
  | where isnotempty(Tags)
  | extend Tags = split(Tags, '\r\n')
  | mv-expand Tags to typeof(string)
  | where Tags matches regex @"drop-by:StreamCreationTime_20160915(\d{6})"

Пример полученных результатов

OriginalExtentId ResultExtentId ResultExtentTags Сведения
e133f050-a1e2-4dad-8552-1f5cf47cab69 0d96ab2d-9dd2-4d2c-a45e-b24c65aa6687 Partition001
cdbeb35b-87ea-499f-b545-defbae091b57 a90a303c-8a14-4207-8f35-d8ea94ca45be
4fcb4598-9a31-4614-903c-0c67c286da8c 97aafea1-59ff-4312-b06b-08f42187872f Partition001 Partition002
2dfdef64-62a3-4950-a130-96b5b1083b5a 0fb7f3da-5e28-4f09-a00-e62eb41592df