Microsoft Fabric のウェアハウスの Delta Lake ログ

適用対象: Microsoft Fabric のウェアハウス

Microsoft Fabric のウェアハウスは、オープン ファイル形式で構築されています。 ユーザー テーブルは parquet ファイル形式で保存され、Delta Lake ログはすべてのユーザー テーブルに対して発行されます。

Delta Lake ログは Delta Lake テーブルを読み取ることができるすべてのエンジンに対してウェアハウスのユーザー テーブルへの直接アクセスを開きます。 このアクセスは、ユーザー データが ACID トランザクション コンプライアンスを守るために、読み取り専用に制限されています。 テーブル内のデータに対するすべての挿入、更新、および削除は、ウェアハウスを通じて実行する必要があります。 トランザクションがコミットされると、システム バックグラウンド プロセスが開始され、影響を受けるテーブルに対して更新された Delta Lake ログを発行します。

OneLake パスを取得する方法

次の手順は、ウェアハウス内のテーブルから OneLake パスを取得する方法について詳しく説明します。

  1. Microsoft Fabric ワークスペースで [ウェアハウス] を開きます。

  2. [オブジェクト エクスプローラー] で、[テーブル] フォルダーで選択したテーブルに他のオプション [(...)] が表示されます。 [プロパティ] メニューを選択します。

    選択したテーブル上のどこに [プロパティ] オプションが表示されるかを示すスクリーンショット。

  3. 選択すると、[プロパティ] ペインに次の情報が表示されます。

    1. 名前
    2. 形式
    3. Type
    4. URL
    5. 相対パス
    6. ABFS パス

    [プロパティ] ペインのスクリーンショット。

Delta Lake ログ パスを取得する方法

Delta Lake ログは次の方法で見つけることができます。

  • Delta Lake ログに対しては、レイクハウスに作成されたショートカットを通してクエリを実行できます。 ファイルは、Microsoft Fabric Spark Notebook または Microsoft Fabric ポータルの Synapse Data Engineering のレイクハウス エクスプローラーを使用して表示できます。

  • Delta Lake ログは、Azure Storage Explorer 経由で、Power BI Direct Lake モードなどの Spark 接続を通してか、デルタ テーブルを読み取ることができる何らかの他のサービスを使用して確認できます。

  • Delta Lake ログは、次のスクリーンショットに示すように、Windows の OneLake Explorer を通して、各テーブルの _delta_log フォルダーで確認できます。

    call_center テーブル用の Delta ログ フォルダーのパスが表示されている Windows OneLake Explorer のスクリーンショット。

Delta Lake ログの発行の一時停止

必要に応じて、Delta Lake ログの発行を一時停止して再開できます。 発行が一時停止されると、ウェアハウスの外部にあるテーブルを読み取る Microsoft Fabric エンジンは、一時停止前と同じようにデータを確認します。 これにより、テーブルに変更を加える前に、存在していたすべてのテーブルのデータが反映され、レポートの安定性と一貫性が保たれます。 データの更新が完了したら、Delta Lake ログの発行を再開して、最近のすべてのデータ変更を他の分析エンジンに表示できます。 Delta Lake ログの発行を一時停止するためのもう 1 つのユース ケースは、コンピューティング コストの節約に役立つため、ユーザーが Microsoft Fabric のその他のコンピューティング エンジンとの相互運用性を必要としない場合です。

Delta Lake ログの発行を一時停止および再開する構文は次のとおりです:

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED | AUTO

例: Delta Lake ログの発行を一時停止および再開する

Delta Lake ログの発行を一時停止するには、次のコード スニペットを使用します:

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED

他の Microsoft Fabric エンジンから現在のウェアハウス上のウェアハウス テーブルへのクエリ (たとえば、レイクハウスからのクエリ) に、Delta Lake ログの発行を一時停止する前と同じバージョンのデータが表示されるようになりました。 ウェアハウス クエリでは、最新バージョンのデータが引き続き表示されます。

Delta Lake ログの発行を再開するには、次のコード スニペットを使用します:

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = AUTO

状態が AUTO に戻ると、Fabric ウェアハウス エンジンは、ウェアハウス上のテーブルに加えられたすべての最近の変更のログを発行し、Microsoft Fabric の他の分析エンジンが最新バージョンのデータを読み取れるようにします。

Delta Lake ログ発行の状態の確認

現在のワークスペースのすべてのウェアハウスで Delta Lake ログ発行の現在の状態を確認するには、次のコード スニペットを使用します:

SELECT [name], [DATA_LAKE_LOG_PUBLISHING_DESC] FROM sys.databases

制限事項

  • テーブル名は、A-Z、a-z、0-9 とアンダースコアの文字のみが含まれている場合にだけ、Spark およびその他のシステムで使用できます。
  • Spark やその他のシステムで使用される列名には、次を含めることはできません:
    • スペース
    • tabs
    • キャリッジ リターン
    • [
    • ,
    • ;
    • {
    • }
    • (
    • )
    • =
    • ]