KQL データベースに OneLake ショートカットを作成する

KQL データベースの OneLake ショートカットを使用すると、データを移動することなく、内部Fabric項目と外部ストレージ内のデータに対してクエリを実行できます。 KQL データベースでは、各ショートカットが [ショートカット] の下に表示され、を使用して external_table()の外部テーブルとしてクエリされます。

この記事では、内部 Fabric または外部ソースを指す KQL データベースで OneLake ショートカットを 作成する方法について説明します。 KQL データベースで作成されたショートカットの名前を変更することはできません。また、一度に作成できるショートカットは 1 つだけです。

ショートカットの種類、ソース固有の手順、およびより広範な制限事項に関する一般的な情報については、「 OneLake ショートカット」を参照してください。

注記

サポートされているショートカットよりもクエリのパフォーマンスを向上させるには、「 OneLake ショートカットに対するクエリアクセラレーション」を参照してください。

前提条件

他の Microsoft Fabric エクスペリエンスで KQL データベース内のデータにアクセスするには、「1 つの論理コピー」をご覧ください。

ショートカットを作成する

  1. 既存の KQL データベースを参照します。

  2. + > New>OneLake ショートカットを選択します。

    [新規] ボタンのドロップダウンを示す [ホーム] タブのスクリーンショット。[Onelake ショートカット] というタイトルのオプションが強調表示されています。

ソースを選択する

KQL データベースでは、KQL データベース、レイクハウス、ウェアハウスなどの内部 OneLake リソースと、Azure Data Lake Storage、Amazon S3、Google Cloud Storage などの外部リソースへのショートカットがサポートされています。 サポートされているショートカットの種類とソース固有の構成ガイダンスの完全な一覧については、「 ショートカットの種類」を参照してください。

  1. [ 新しいショートカット ] ウィンドウで、接続先のソースの種類を選択します。
  2. ソースに必要な接続の詳細を入力し、KQL データベースで公開するフォルダーまたはテーブルを選択します。
  3. 省略可能: 新しいショートカットでクエリ アクセラレーションを有効にするには、[ 高速化 ] を [オン] に設定します。
  4. を選択してを作成します。

サポートされているシナリオと制限事項については、「 OneLake ショートカットのクエリ アクセラレーション - 概要」を参照してください。

ショートカットの詳細を示す [新しいショートカット] ウィンドウのスクリーンショット。[加速] トグルが強調表示されています。

注記

  1. ショートカットごとに接続できるサブフォルダーまたはテーブルは、1 つのみです。 他のデータに接続するには、追加のショートカットを作成します。
  2. 列名にアスタリスク (*) が含まれるテーブルにショートカットを作成することはできません。 ショートカットを作成する前に、列の名前を変更します。

ショートカットを作成すると、データベースが自動的に更新されます。 [エクスプローラー] ウィンドウの [ショートカット] にショートカットが表示されます。 これで、データのクエリを実行できるようになりました。

新しいショートカットを示す [エクスプローラー] ペインのスクリーンショット。

フォルダーを使用してショートカットを整理する

サブフォルダーを作成するか、既存のフォルダーに移動するには:

  1. エクスプローラー ウィンドウで、次のいずれかを実行します。
    • ショートカットを右クリックし、[ フォルダーに移動>+ 新しいフォルダー] を選択します。
      ショートカット用の新しいフォルダーを作成するオプションを示すポップアップ メニューのスクリーンショット。
    • または、特定のショートカットの横にある省略記号 (...) を選択し、[ フォルダーに移動>+ 新しいフォルダー を選択するか、既存のフォルダーを選択します。
      ショートカットを既存のフォルダーに移動するか、新しいフォルダーを作成するオプションを示すポップアップ メニューのスクリーンショット。
  2. フォルダーを作成するには、フォルダーの名前を入力し、[ 作成] を選択します。 ショートカットが新しいフォルダーに移動されます。
    作成中の新しいフォルダーのスクリーンショット。
  3. 複数のショートカットを移動するには、別のフォルダー名を入力するか、ドロップダウン メニューを選択して、同じフォルダーに移動するショートカットの横にあるチェック ボックスをオンにします。
    複数のショートカットを同じフォルダーに移動するオプションを示すポップアップ メニューのスクリーンショット。
  4. 既存のフォルダーにショートカットを移動することもできます。 これを行うには、[ フォルダーに移動 ] を選択し、ショートカットを移動するフォルダーを選択するか、ショートカットをフォルダーにドラッグ アンド ドロップします。

注記

  • サブフォルダーを削除した場合、フォルダー内のショートカットは削除されませんが、親フォルダーに戻されます。
  • フォルダー内にショートカットがない場合、サブフォルダーは自動的に削除されます。
  • フォルダーは資産の種類ごとに作成でき、名前は資産の種類ごとに一意である必要があります。 たとえば、同じ名前のテーブル フォルダーとショートカット フォルダーを持つことができますが、同じ名前のショートカット フォルダーを 2 つ持つすることはできません。

データのクエリ

OneLake ショートカットからのデータに対してクエリを実行するには、external_table() 関数を使用します。

  1. データベースの右側にある [ データの探索] を選択します。 いくつかのクエリ例と共にウィンドウが開くので、クエリ例を実行して、データの初期状態を確認できます。
  2. テーブル名のプレースホルダーを external_table('<shortcut-name>')に置き換えます。
  3. [実行] を選択するか、[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)

スキーマ同期の動作についての詳細は 「自動スキーマ同期」を参照してください。