.move extents コマンド
適用対象: ✅Azure データ エクスプローラー
このコマンドは、特定のデータベース*のコンテキストで実行します。 このコマンドは、指定したエクステントをソース テーブルからターゲット テーブルに移動します。
Note
- エクステント*の詳細については、エクステント* (データ シャード*) の概要を参照してください。
.move
コマンドは、すべてのソース エクステントに対して完了または失敗します。 部分的な結果はありません。
アクセス許可
ソース テーブルと変換先テーブルに対する少なくとも Table Admin アクセス許可が必要です。
制限
- ソース テーブルとターゲット テーブルはどちらもコンテキスト データベース内に存在する必要があります。
- ソース テーブルのすべての列と同じ名前、同じデータ型のものが、ターゲット テーブルにも存在するものと想定されています。
- 変換先テーブルが 具体化されたビューのソース テーブルである場合、マテリアライズド ビューでは移動されたエクステント内のレコードが処理されないため、コマンドが失敗する可能性があります。 詳細については、「 の具体化されたビューの制限事項 ページ」を参照してください。 このエラーを回避するには、移動コマンド中に新しいインジェスト時間を設定します。 サポートされているプロパティの
setNewIngestionTime
を参照してください。
構文
すべてのエクステントを移動します。
.move
[async
] extents
all
from
table
sourceTableName to
table
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...])
]
ID で指定されたエクステントを移動します。
.move
[async
] extents
from
table
SourceTableName to
table
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...])
] (
GUID [,
...] )
クエリ結果で指定されたエクステントを移動します。
.move
[async
] extents
to
table
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...])
] ] <|
クエリ
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
async |
string |
指定した場合、コマンドは非同期的に実行されます。 | |
SourceTableName | string |
✔️ | 移動するエクステントを含むテーブルの名前。 |
DestinationTableName | string |
✔️ | エクステントの移動先となるテーブルの名前。 |
PropertyName、 PropertyValue | string |
1 つ以上の サポートされるプロパティ。 | |
クエリ | string |
✔️ | このKusto 照会言語 (KQL) クエリの結果は、ソース テーブルとそのテーブルから移動するエクステント ID を指定します。 "ExtentId" と "TableName" という列を含むレコードセットを返す必要があります。 |
サポートされるプロパティ
プロパティ名 | タイプ | Required | 説明 |
---|---|---|---|
setNewIngestionTime |
bool |
true に設定すると、移動するエクステント内のすべてのレコードに新しい時間が割り当てられます。 これは、 具体化されたビュー や 継続的なデータ エクスポートなど、 データベース カーソル に依存するワークロードによってレコードを処理する必要がある場合に便利です。 |
|
extentCreatedOnFrom |
datetime |
✔️ | この時点より後に作成されたエクステントに適用されます。 |
extentCreatedOnTo |
datetime |
✔️ | この時点より前に作成されたエクステントに適用されます。 |
Note
パフォーマンスを向上させるには、 extentCreatedOnFrom
パラメーターと extentCreatedOnTo
パラメーターを可能な限り小さい範囲に設定します。
返品
コマンドを同期的に実行すると、次のスキーマを持つテーブルが返されます。
出力パラメーター | 型 | 説明 |
---|---|---|
OriginalExtentId | string |
ターゲット テーブルに移動されたソース テーブル内の元のエクステントの一意識別子 (GUID)。 |
ResultExtentId | string |
ソース テーブルからターゲット テーブルに移動された結果のエクステントの一意識別子 (GUID)。 失敗した場合 - "Failed"。 |
詳細 | string |
操作が失敗した場合は、その失敗の詳細が格納されます。 |
コマンドを非同期に実行すると、操作 ID (GUID) が返されます。 .show 操作コマンドを使用して操作の状態を監視し、.show 操作の詳細コマンドを使用して正常に実行された結果を取得します。
例
すべてのエクステントを移動する
テーブル MyTable
のすべてのエクステントをテーブル MyOtherTable
に移動します。
.move extents all from table MyTable to table MyOtherTable
指定した作成時間範囲内で 2 つの特定のエクステントを移動する
テーブル MyTable
からテーブル MyOtherTable
に、指定した作成時間範囲内の 2 つの特定のエクステント (エクステント ID によって) を移動します。
.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-a000-e62eb41592df |