.drop table extent tags

从表的所有或特定盘区中删除特定的盘区标记。 此命令在特定数据库的上下文中运行。

注意

数据分片称为“区”,所有命令都将“extent”或“extents”作为同义词使用。 若要详细了解区,请参阅区(数据分片)概述

可以通过两种方式来指定应从哪些盘区中删除哪些标记:

  • 明确指定应从指定的表中所有区中删除的标记。
  • 提供一个查询,其结果指定表中的区 ID,并指定每个区应删除的标记。

权限

对于所有相关的源表和目标表,你必须至少具有表管理员权限。

语法

.drop [async] tableTableNameextenttags(Tag [, ...])with(extentCreatedOnFrom=FromDate,extentCreatedOnTo=ToDate)

.drop [async] tableTableNameextenttagswith(extentCreatedOnFrom=FromDate,extentCreatedOnTo=ToDate)<|Query

详细了解语法约定

参数

客户 类型​​ 必需 说明
async string 如果指定此项,则操作将异步执行。
TableName string 要删除其区标记的表的名称。
标记 string 要删除的区标记的名称。
FromDate datetime 开始日期范围。
ToDate datetime 结束日期范围。
查询 string 返回要删除的区标记的一个 Kusto 查询语言 (KQL) 查询。 请参阅使用查询指定区

注意

为了提高性能,请将 extentCreatedOnFromextentCreatedOnTo 参数设置为尽可能小的范围。

限制

所有盘区都必须在上下文数据库中,并且必须属于同一个表。

返回

返回操作 ID (GUID)。

提示

使用查询指定区

使用 Kusto 查询指定区和要删除的标记。 它返回一个记录集,其中包含名为“ExtentId”的列和名为“Tags”的列。

注意

使用 Kusto .NET 客户端库时,以下方法将会生成所需的命令:

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

返回输出

输出参数 类型 说明
OriginalExtentId string 原始盘区的唯一标识符 (GUID),其标记已修改。 此盘区在操作过程中被删除。
ResultExtentId string 结果盘区的唯一标识符 (GUID),其标记已修改。 此盘区在操作过程中创建和添加。 失败时 -“已失败”。
ResultExtentTags string 用于对结果区进行标记的一组标记(如果仍然存在),或者为“null”(如果操作失败)。
详细信息 string 包括失败详细信息(如果操作失败)。

示例

删除一个标记

从表中标记了 drop-by:Partition000 标记的的任何区删除该标记:

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

删除多个标记

从表中带有 drop-by:20230312104500a 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 标记

删除指定创建时间范围内表 MyTable 中盘区内的所有 drop-by 标记:

.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'

删除所有符合特定正则表达式的标记

从表 MyTable 的区删除所有符合正则表达式 drop-by:StreamCreationTime_20160915(\d{6}) 的标记:

.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-a000-e62eb41592df