Команда экстентов .move
Область применения: ✅Azure Data Explorer
Эта команда выполняется в контексте определенной базы данных. Он перемещает указанные экстенты из исходной таблицы в целевую таблицу.
Примечание.
Разрешения
Для исходных и целевых таблиц необходимо иметь по крайней мере разрешения администратора таблиц.
Ограничения
- Исходные и целевые таблицы должны находиться в базе данных контекста.
- Все столбцы в исходной таблице должны существовать в целевой таблице с одинаковым именем и типом данных.
- Если целевая таблица является исходной таблицей материализованного представления, команда может завершиться ошибкой, так как материализованное представление не обработает записи в перемещаемых экстентах. Дополнительные сведения см. на странице ограничений материализованных представлений . Эту ошибку можно обойти, задав новое время приема во время команды перемещения. См
setNewIngestionTime
. сведения о поддерживаемых свойствах.
Синтаксис
Перемещение всех экстентов:
.move
[async
] extents
all
table
from
sourceTableName DestinationTableName table
to
[ with
(
PropertyName =
PropertyValue [,
...]])
Перемещение экстентов, указанных идентификатором:
.move
[async
] extents
table
from
SourceTableName DestinationTableName to
table
[ with
(
PropertyName =
PropertyValue [,
...]] (
)
GUID [,
...])
Перемещение экстентов, указанных результатами запроса:
.move
[async
] extents
to
table
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]] <|
)
Запрос
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
async |
string |
Если задано, команда выполняется асинхронно. | |
SourceTableName | string |
✔️ | Имя таблицы, содержащей экстенты для перемещения. |
DestinationTableName | string |
✔️ | Имя таблицы, в которую перемещаются экстенты. |
PropertyName, PropertyValue | string |
Одно или несколько поддерживаемых свойств. | |
Запрос | string |
✔️ | Результаты этого запроса язык запросов Kusto (KQL) указывают исходную таблицу и идентификаторы экстентов, которые нужно переместить из него. Должен возвращать набор записей с столбцами "ExtentId" и "TableName". |
Поддерживаемые свойства
Имя свойства | Тип | Обязательно | Описание |
---|---|---|---|
setNewIngestionTime |
bool |
Если задано значение true , новое время приема назначается всем записям в перемещаемых экстентах. Это полезно, если записи должны обрабатываться рабочими нагрузками, зависящими от курсоров базы данных, таких как материализованные представления и непрерывный экспорт данных. |
|
extentCreatedOnFrom |
datetime |
✔️ | Применить к экстентам, созданным после этого момента времени. |
extentCreatedOnTo |
datetime |
✔️ | Применяется к экстентам, созданным до этого момента времени. |
Примечание.
Для повышения производительности задайте extentCreatedOnFrom
и extentCreatedOnTo
параметры в наименьший возможный диапазон.
Возвраты
При синхронном выполнении команды возвращается таблица со следующей схемой.
Выходной параметр | Тип | Описание |
---|---|---|
OriginalExtentId | string |
Уникальный идентификатор (GUID) для исходной экстенты в исходной таблице, которая была перемещена в целевую таблицу. |
ResultExtentId | string |
Уникальный идентификатор (GUID) для области результатов, которая была перемещена из исходной таблицы в целевую таблицу. При сбое — "Сбой". |
Сведения | string |
Включает сведения о сбое, если операция завершается ошибкой. |
При асинхронном выполнении команды возвращается идентификатор операции (GUID). Отслеживайте состояние операции с помощью команды .show operations и извлеките результаты успешного выполнения с помощью команды сведений о операции .show.
Примеры
Перемещение всех экстентов
Перемещение всех экстентов в таблицу MyTable
MyOtherTable
:
.move extents all from table MyTable to table MyOtherTable
Перемещение двух конкретных экстентов в указанном диапазоне времени создания
Перемещение двух конкретных экстентов (по их идентификаторам экстентов) в заданном диапазоне времени создания из таблицы в таблицу MyTable
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)
Перемещение всех экстентов в заданном диапазоне времени создания из определенных таблиц
Переместите все экстенты в заданном диапазоне времени создания из определенных таблиц (MyTable1
, MyTable2
) в таблицу MyOtherTable
:
.move extents to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| .show tables (MyTable1,MyTable2) extents
Перемещение всех экстентов с заданным временем приема
.move extents all from table MyTable to table MyOtherTable with (setNewIngestionTime=true)
Пример полученных результатов
OriginalExtentId | ResultExtentId | Сведения |
---|---|---|
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-a00-e62eb41592df |