Polecenie .move extents
Dotyczy: ✅Azure Data Explorer
To polecenie jest uruchamiane w kontekście określonej bazy danych. Przenosi określone zakresy z tabeli źródłowej do tabeli docelowej.
Uwaga
- Aby uzyskać więcej informacji na temat zakresów, zobacz Omówienie zakresów (fragmentów danych).
- Polecenie
.move
kończy się lub kończy się niepowodzeniem dla wszystkich zakresów źródłowych. Nie ma żadnych częściowych wyników.
Uprawnienia
Musisz mieć co najmniej uprawnienia administratora tabeli dla tabel źródłowych i docelowych.
Ograniczenia
- Tabele źródłowe i docelowe muszą znajdować się w bazie danych kontekstu.
- Wszystkie kolumny w tabeli źródłowej powinny istnieć w tabeli docelowej o tej samej nazwie i typie danych.
- Jeśli tabela docelowa jest tabelą źródłową zmaterializowanego widoku, polecenie może zakończyć się niepowodzeniem, ponieważ zmaterializowany widok nie przetworzy rekordów w przeniesionych zakresach. Zobacz więcej szczegółów na stronie zmaterializowanych ograniczeń widoków . Ten błąd można obejść, ustawiając nowy czas pozyskiwania podczas przenoszenia polecenia. Zobacz
setNewIngestionTime
w obsługiwanych właściwościach.
Składnia
Przenieś wszystkie zakresy:
.move
[async
] extents
from
table
all
sourceTableName table
to
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]])
Zakresy przenoszenia określone przez identyfikator:
.move
[async
] extents
table
from
SourceTableName table
to
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]] (
)
Identyfikator GUID [,
...])
Przenieś zakresy określone przez wyniki zapytania:
.move
[async
] extents
to
table
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]] <|
)
Zapytanie
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
async |
string |
Jeśli zostanie określony, polecenie jest uruchamiane asynchronicznie. | |
SourceTableName | string |
✔️ | Nazwa tabeli zawierającej zakresy do przeniesienia. |
DestinationTableName | string |
✔️ | Nazwa tabeli, do której mają być przenoszone zakresy. |
PropertyName, PropertyValue | string |
Co najmniej jedna obsługiwana właściwości. | |
Zapytanie | string |
✔️ | Wyniki tego zapytania język zapytań Kusto (KQL) określają tabelę źródłową i identyfikatory zakresu, z których mają zostać przeniesione. Powinien zwrócić zestaw rekordów z kolumnami o nazwie "ExtentId" i "TableName". |
Obsługiwane właściwości
Nazwa właściwości | Typ | Wymagania | opis |
---|---|---|---|
setNewIngestionTime |
bool |
Jeśli ustawiono true wartość , zostanie przypisany nowy czas pozyskiwania do wszystkich rekordów w zakresach, które są przenoszone. Jest to przydatne, gdy rekordy powinny być przetwarzane przez obciążenia zależne od kursorów bazy danych, takich jak zmaterializowane widoki i ciągły eksport danych. |
|
extentCreatedOnFrom |
datetime |
✔️ | Zastosuj do zakresów utworzonych po tym punkcie w czasie. |
extentCreatedOnTo |
datetime |
✔️ | Zastosuj do zakresów utworzonych przed tym punktem w czasie. |
Uwaga
Aby uzyskać lepszą wydajność, ustaw extentCreatedOnFrom
parametry i extentCreatedOnTo
na najmniejszy możliwy zakres.
Zwraca
Gdy polecenie jest uruchamiane synchronicznie, zwracana jest tabela z następującym schematem.
Parametr wyjściowy | Type | Opis |
---|---|---|
OriginalExtentId | string |
Unikatowy identyfikator (GUID) dla oryginalnego zakresu w tabeli źródłowej, który został przeniesiony do tabeli docelowej. |
ResultExtentId | string |
Unikatowy identyfikator (GUID) dla zakresu wyników, który został przeniesiony z tabeli źródłowej do tabeli docelowej. Po awarii — "Niepowodzenie". |
Szczegóły | string |
Zawiera szczegóły błędu, jeśli operacja zakończy się niepowodzeniem. |
Gdy polecenie jest uruchamiane asynchronicznie, zwracany jest identyfikator operacji (GUID). Monitoruj stan operacji za pomocą polecenia .show operations i pobierz wyniki pomyślnego wykonania za pomocą polecenia .show operation details .
Przykłady
Przenieś wszystkie zakresy
Przenieś wszystkie zakresy w tabeli MyTable
do tabeli MyOtherTable
:
.move extents all from table MyTable to table MyOtherTable
Przenoszenie dwóch określonych zakresów w określonym zakresie czasu tworzenia
Przenieś dwa określone zakresy (według identyfikatorów zakresu) w określonym zakresie czasu tworzenia z tabeli MyTable
do tabeli 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)
Przenoszenie wszystkich zakresów w określonym zakresie czasu tworzenia z określonych tabel
Przenieś wszystkie zakresy w określonym zakresie czasu tworzenia z określonych tabel (MyTable1
, MyTable2
) do tabeli MyOtherTable
:
.move extents to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| .show tables (MyTable1,MyTable2) extents
Przenieś wszystkie zakresy z ustawionym nowym czasem pozyskiwania
.move extents all from table MyTable to table MyOtherTable with (setNewIngestionTime=true)
Przykładowe dane wyjściowe
OriginalExtentId | ResultExtentId | Szczegóły |
---|---|---|
e133f050-a1e2-4dad-8552-1f5cf47cab69 | 0d96ab2d-9dd2-4d2c-a45e-b24c65aa687 | |
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 |