KQL データベースの OneLake ショートカットを使用すると、データを移動することなく、内部Fabric項目と外部ストレージ内のデータに対してクエリを実行できます。 KQL データベースでは、各ショートカットが [ショートカット] の下に表示され、を使用して external_table()の外部テーブルとしてクエリされます。
この記事では、内部 Fabric または外部ソースを指す KQL データベースで OneLake ショートカットを 作成する方法について説明します。 KQL データベースで作成されたショートカットの名前を変更することはできません。また、一度に作成できるショートカットは 1 つだけです。
ショートカットの種類、ソース固有の手順、およびより広範な制限事項に関する一般的な情報については、「 OneLake ショートカット」を参照してください。
注記
サポートされているショートカットよりもクエリのパフォーマンスを向上させるには、「 OneLake ショートカットに対するクエリアクセラレーション」を参照してください。
前提条件
- Microsoft Fabric 対応の 容量を持つ ワークスペース。
- 編集アクセス許可を持つ KQL データベース 。
- レイクハウス。
他の Microsoft Fabric エクスペリエンスで KQL データベース内のデータにアクセスするには、「1 つの論理コピー」をご覧ください。
ショートカットを作成する
既存の KQL データベースを参照します。
+ > New>OneLake ショートカットを選択します。
ソースを選択する
KQL データベースでは、KQL データベース、レイクハウス、ウェアハウスなどの内部 OneLake リソースと、Azure Data Lake Storage、Amazon S3、Google Cloud Storage などの外部リソースへのショートカットがサポートされています。 サポートされているショートカットの種類とソース固有の構成ガイダンスの完全な一覧については、「 ショートカットの種類」を参照してください。
- [ 新しいショートカット ] ウィンドウで、接続先のソースの種類を選択します。
- ソースに必要な接続の詳細を入力し、KQL データベースで公開するフォルダーまたはテーブルを選択します。
- 省略可能: 新しいショートカットでクエリ アクセラレーションを有効にするには、[ 高速化 ] を [オン] に設定します。
- を選択してを作成します。
サポートされているシナリオと制限事項については、「 OneLake ショートカットのクエリ アクセラレーション - 概要」を参照してください。
注記
- ショートカットごとに接続できるサブフォルダーまたはテーブルは、1 つのみです。 他のデータに接続するには、追加のショートカットを作成します。
- 列名にアスタリスク (
*) が含まれるテーブルにショートカットを作成することはできません。 ショートカットを作成する前に、列の名前を変更します。
ショートカットを作成すると、データベースが自動的に更新されます。 [エクスプローラー] ウィンドウの [ショートカット] にショートカットが表示されます。 これで、データのクエリを実行できるようになりました。
フォルダーを使用してショートカットを整理する
サブフォルダーを作成するか、既存のフォルダーに移動するには:
- エクスプローラー ウィンドウで、次のいずれかを実行します。
- ショートカットを右クリックし、[ フォルダーに移動>+ 新しいフォルダー] を選択します。
- または、特定のショートカットの横にある省略記号 (...) を選択し、[ フォルダーに移動>+ 新しいフォルダー を選択するか、既存のフォルダーを選択します。
- ショートカットを右クリックし、[ フォルダーに移動>+ 新しいフォルダー] を選択します。
- フォルダーを作成するには、フォルダーの名前を入力し、[ 作成] を選択します。 ショートカットが新しいフォルダーに移動されます。
- 複数のショートカットを移動するには、別のフォルダー名を入力するか、ドロップダウン メニューを選択して、同じフォルダーに移動するショートカットの横にあるチェック ボックスをオンにします。
- 既存のフォルダーにショートカットを移動することもできます。 これを行うには、[ フォルダーに移動 ] を選択し、ショートカットを移動するフォルダーを選択するか、ショートカットをフォルダーにドラッグ アンド ドロップします。
注記
- サブフォルダーを削除した場合、フォルダー内のショートカットは削除されませんが、親フォルダーに戻されます。
- フォルダー内にショートカットがない場合、サブフォルダーは自動的に削除されます。
- フォルダーは資産の種類ごとに作成でき、名前は資産の種類ごとに一意である必要があります。 たとえば、同じ名前のテーブル フォルダーとショートカット フォルダーを持つことができますが、同じ名前のショートカット フォルダーを 2 つ持つすることはできません。
データのクエリ
OneLake ショートカットからのデータに対してクエリを実行するには、external_table() 関数を使用します。
- データベースの右側にある [ データの探索] を選択します。 いくつかのクエリ例と共にウィンドウが開くので、クエリ例を実行して、データの初期状態を確認できます。
- テーブル名のプレースホルダーを
external_table('<shortcut-name>')に置き換えます。 - [実行] を選択するか、[Shift キー + Enter キー]を押して選択されたクエリを実行します。
データ型マッピング
Delta Parquet から Eventhouse へのデータ型対応
デルタ プリミティブ データ型は、次の表に示すように Eventhouse スカラー データ型にマップされます。 詳細については、「 スカラー データ型」を参照してください。
| Delta の型 | Eventhouse スカラーデータ型 |
|---|---|
string |
string |
long |
long |
integer |
int |
short |
int |
byte |
real |
float |
real |
double |
real |
decimal |
decimal |
boolean |
bool |
binary |
string |
date |
datetime |
timestamp_ntz (タイム ゾーンなし) |
datetime |
struct |
dynamic |
array |
dynamic |
map |
dynamic |
自動スキーマ同期
ショートカットテーブルのテーブルスキーマは自動的に同期されるため、元のテーブルの列の追加、削除、名前の変更、型の変更が手動更新なしでショートカットに反映されます。 この動作はデフォルトでオンになっています。 無効化するには、ソースデータベースで以下のコマンドを実行します:
.create-or-alter external table ExternalTable
kind=delta
(
h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
) with (AutoUpdateSchema=false)
スキーマ同期の動作についての詳細は 「自動スキーマ同期」を参照してください。