.drop table extent tags
从表的所有或特定盘区中删除特定的盘区标记。 此命令在特定数据库的上下文中运行。
注意
数据分片称为“区”,所有命令都将“extent”或“extents”作为同义词使用。 若要详细了解区,请参阅区(数据分片)概述。
可以通过两种方式来指定应从哪些盘区中删除哪些标记:
- 明确指定应从指定的表中所有区中删除的标记。
- 提供一个查询,其结果指定表中的区 ID,并指定每个区应删除的标记。
权限
对于所有相关的源表和目标表,你必须至少具有表管理员权限。
语法
.drop
[async
] table
TableNameextent
tags
(
Tag [,
...])
with
(
extentCreatedOnFrom
=
FromDate,
extentCreatedOnTo
=
ToDate)
.drop
[async
] table
TableNameextent
tags
with
(
extentCreatedOnFrom
=
FromDate,
extentCreatedOnTo
=
ToDate)
<|
Query
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
async |
string |
如果指定此项,则操作将异步执行。 | |
TableName | string |
✔ | 要删除其区标记的表的名称。 |
标记 | string |
✔ | 要删除的区标记的名称。 |
FromDate | datetime |
开始日期范围。 | |
ToDate | datetime |
结束日期范围。 | |
查询 | string |
✔ | 返回要删除的区标记的一个 Kusto 查询语言 (KQL) 查询。 请参阅使用查询指定区。 |
注意
为了提高性能,请将 extentCreatedOnFrom
和 extentCreatedOnTo
参数设置为尽可能小的范围。
限制
所有盘区都必须在上下文数据库中,并且必须属于同一个表。
返回
返回操作 ID (GUID)。
提示
- 可以使用 GUID 监视操作的状态。 使用
.show operations
命令。 - 使用
.show operation details
命令检索成功执行的结果。
使用查询指定区
使用 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:20230312104500
、a random tag
或 drop-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 |