Partager via


Commande des étendues .move

S’applique à : ✅Azure Data Explorer

Cette commande s’exécute dans le contexte d’une base de données spécifique. Elle déplace les étendues spécifiées de la table source vers la table de destination.

Remarque

  • Pour plus d’informations sur les étendues, consultez vue d’ensemble des étendues (partitions de données).
  • Une .move commande se termine ou échoue pour toutes les étendues sources. Il n’y a pas de résultats partiels.

autorisations

Vous devez disposer au moins des autorisations d’administrateur de table pour les tables source et de destination.

Restrictions

  • Les tables source et de destination doivent se trouver dans la base de données contextuelle.
  • Toutes les colonnes de la table source sont censées exister dans la table de destination portant le même nom et le même type de données.
  • Si la table de destination est une table source d’une vue matérialisée, la commande peut échouer, car la vue matérialisée ne traite pas les enregistrements dans les étendues déplacées. Pour plus d’informations, consultez la page limitations des vues matérialisées. Vous pouvez contourner cette erreur en définissant un nouveau temps d’ingestion pendant la commande move. Consultez setNewIngestionTime les propriétés prises en charge.

Syntaxe

Déplacez toutes les étendues :

.move[async] extents from table all sourceTableName table to DestinationTableName [ with(PropertyName = PropertyValue [, ...]])

Déplacer les étendues spécifiées par l’ID :

.move[async] extents table from SourceTableName table to DestinationTableName [ with(PropertyName = PropertyValue [, ...]] ( )GUID [, ...])

Déplacer les étendues spécifiées par les résultats de la requête :

.move[async] extents table to DestinationTableName [ with(PropertyName = PropertyValue [,...]] <| )Requête

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
async string Si elle est spécifiée, la commande s’exécute de manière asynchrone.
SourceTableName string ✔️ Nom de la table contenant les étendues à déplacer.
DestinationTableName string ✔️ Nom de la table vers laquelle déplacer les étendues.
PropertyName, PropertyValue string Une ou plusieurs propriétés prises en charge.
Requête string ✔️ Les résultats de cette requête Langage de requête Kusto (KQL) spécifient la table source et les ID d’étendue à déplacer. Doit retourner un jeu d’enregistrements avec des colonnes appelées « ExtentId » et « TableName ».

Propriétés prises en charge

Nom de la propriété Type Requise Description
setNewIngestionTime bool Si la valeur est définie true, une nouvelle heure d’ingestion est affectée à tous les enregistrements dans les étendues déplacées. Cela est utile lorsque les enregistrements doivent être traités par des charges de travail qui dépendent des curseurs de base de données, tels que les vues matérialisées et l’exportation continue des données.
extentCreatedOnFrom datetime ✔️ Appliquez les étendues créées après ce point dans le temps.
extentCreatedOnTo datetime ✔️ Appliquez les étendues créées avant ce point dans le temps.

Remarque

Pour de meilleures performances, définissez et définissez extentCreatedOnFrom les extentCreatedOnTo paramètres sur la plus petite plage possible.

Retours

Lorsque la commande est exécutée de façon synchrone, une table avec le schéma suivant est retournée.

Paramètre de sortie Type Description
OriginalExtentId string Identificateur unique (GUID) pour l’étendue d’origine dans la table source, qui a été déplacé vers la table de destination.
ResultExtentId string Identificateur unique (GUID) pour l’étendue de résultat qui a été déplacée de la table source vers la table de destination. En cas d’échec - « Échec ».
Détails string Inclut les détails de l’échec, en cas d’échec de l’opération.

Lorsque la commande est exécutée de façon asynchrone, un ID d’opération (GUID) est retourné. Surveillez l’état de l’opération avec la commande .show operations et récupérez les résultats d’une exécution réussie avec la commande détails de l’opération .show.

Exemples

Déplacer toutes les étendues

Déplacez toutes les étendues de la table vers la table MyTable MyOtherTable:

.move extents all from table MyTable to table MyOtherTable

Déplacer deux étendues spécifiques dans une plage de temps de création spécifiée

Déplacez deux étendues spécifiques (par leurs ID d’étendue) dans un intervalle de temps de création spécifié entre la table MyTable et la table MyOtherTable:

.move extents from table MyTable to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) (AE6CD250-BE62-4978-90F2-5CB7A10D16D7,399F9254-4751-49E3-8192-C1CA78020706)

Déplacer toutes les étendues dans un intervalle de temps de création spécifié à partir de tables spécifiques

Déplacez toutes les étendues d’une plage de temps de création spécifiée de tables spécifiques (MyTable1, MyTable2) vers la table MyOtherTable:

.move extents to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| .show tables (MyTable1,MyTable2) extents

Déplacer toutes les étendues avec une nouvelle heure d’ingestion définie

.move extents all from table MyTable to table MyOtherTable with (setNewIngestionTime=true)

Exemple de sortie

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