Sdílet prostřednictvím


Značky rozsahu tabulky .drop

Zahodí značky rozsahu ze všech nebo konkrétních rozsahů tabulky. Příkaz se spustí v kontextu konkrétní databáze.

Poznámka:

Horizontální oddíly dat se nazývají rozsahy a všechny příkazy používají jako synonymum "extent" nebo "extents". Další informace o rozsahech najdete v tématu Přehled rozsahů (horizontálních oddílů dat).

Existují dva způsoby, jak určit, které značky mají být odebrány z rozsahu:

  • Explicitně zadejte značky, které mají být odebrány ze všech rozsahů v zadané tabulce.
  • Zadejte dotaz, jehož výsledky určují ID rozsahu v tabulce a pro každý rozsah – značky, které by se měly odebrat.

Oprávnění

Musíte mít alespoň oprávnění správce tabulky pro všechny zahrnuté zdrojové a cílové tabulky.

Syntaxe

.drop[] table Značka TableName extenttags ( [, ...]) ( = with extentCreatedOnFrom asyncFromDate ToDate , extentCreatedOnTo = )

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

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
async string Pokud je zadáno, operace se provede asynchronně.
TableName string ✔️ Název tabulky, pro kterou chcete odstranit značky rozsahu.
Tag string ✔️ Názvy značek rozsahu, které se mají odstranit.
FromDate datetime Počáteční rozsah kalendářních dat.
ToDate datetime Rozsah koncového data.
Dotaz string ✔️ Dotaz dotazovací jazyk Kusto (KQL), který vrátí značky rozsahu, které se mají vynechat. Viz Zadání rozsahů pomocí dotazu.

Poznámka:

Pokud chcete dosáhnout lepšího výkonu, nastavte extentCreatedOnFrom parametry extentCreatedOnTo na nejmenší možný rozsah.

Omezení

Všechny rozsahy musí být v kontextové databázi a musí patřit do stejné tabulky.

Návraty

Vrátí se ID operace (GUID).

Tip

Určení rozsahů pomocí dotazu

Rozsahy a značky, které se mají odstranit, se zadají pomocí dotazu Kusto. Vrátí sadu záznamů se sloupcem s názvem "ExtentId" a sloupcem s názvem "Tags".

Poznámka:

Při použití klientské knihovny Kusto .NET vygenerují požadované příkazy následující metody:

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

Návratový výstup

Výstupní parametr Typ Popis
OriginalExtentId string Jedinečný identifikátor (GUID) pro původní rozsah, jehož značky byly změněny. Rozsah se v rámci operace vyřadí.
ResultExtentId string Jedinečný identifikátor (GUID) pro rozsah výsledků, který upravil značky. Rozsah se vytvoří a přidá jako součást operace. Při selhání – Chyba
ResultExtentTags string Kolekce značek, pomocí kterých je rozsah výsledků označen, pokud nějaké zůstanou nebo "null" v případě, že operace selže.
Detaily string Obsahuje podrobnosti o selhání, pokud operace selže.

Příklady

Přetažení jedné značky

Odstraňte značku z libovolného rozsahu drop-by:Partition000 v tabulce, která je označená tímto značkou:

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

Vyřazení několika značek

Odstraňte značky drop-by:20230312104500, a random taga drop-by:20230312 z libovolného rozsahu v tabulce, která je označena některou z nich:

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

Odstranění všech drop-by značek v zadaném časovém rozsahu vytváření

Odstraňte všechny drop-by značky z rozsahů v tabulce MyTable v zadaném časovém rozsahu vytváření:

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

Zahoďte všechny značky odpovídající konkrétnímu regulárnímu výrazu.

Odstraňte všechny značky odpovídající regulárnímu výrazu drop-by:StreamCreationTime_20160915(\d{6}) z rozsahů v tabulce 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})"

Ukázkový výstup

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