従来の Hive メタストアで Lakeflow パイプラインを使用する

ストレージの場所、クラウド ストレージ アクセス、イベント ログなど、従来の Hive メタストアにデータを発行するように Lakeflow パイプラインを構成します。 Databricks では、すべての新しいパイプラインに Unity カタログを使用することをお勧めします。 「パイプラインで Unity カタログを使用する」を参照してください。

この記事では、パイプラインの現在の既定の発行モードの機能について説明します。 2025 年 2 月 5 日より前に作成されたパイプラインでは、従来の発行モードと LIVE 仮想スキーマが使用される場合があります。 LIVE スキーマ (レガシー)を参照してください。

Hive メタストアのストリーミング テーブルと具体化されたビューに対してクエリを実行する

更新が完了したら、スキーマとテーブルの表示、データのクエリ、またはダウンストリーム アプリケーションでのデータの使用を行うことができます。

発行されたパイプライン テーブルは、ターゲット スキーマにアクセスできる任意の環境からクエリを実行できます。 これには、Databricks SQL、ノートブック、およびその他の Lakeflow パイプラインが含まれます。

Important

target 構成を作成すると、テーブルと関連付けられたメタデータのみがパブリッシュされます。 ビューはメタストアにはパブリッシュされません。

Hive メタストアに発行するようにパイプラインを構成する

従来の Hive メタストアに発行するには、新しいパイプラインを作成するときに [高度なオプション] で [Hive Metastore を使用する] を選択します (オプションを表示するには、[詳細を表示] を選択する必要がある場合があります)。 Hive メタストアに発行するときは、既定のターゲット スキーマを指定する必要があります。 「パイプラインの構成」を参照してください。

ストレージの場所を指定する

Hive メタストアに発行するパイプラインのストレージの場所を指定できます。 場所を指定する主な動機は、パイプラインによって書き込まれるデータのオブジェクトストレージの場所を制御することです。 Databricks では、DBFS ルートへの書き込みを回避するために、常にストレージの場所を指定することをお勧めします。

Lakeflow パイプラインではすべてのテーブル、データ、チェックポイント、メタデータが完全に管理されるため、パイプライン データセットとのほとんどの対話は、Hive メタストアまたは Unity カタログに登録されたテーブルを介して行われます。

クラウド ストレージの構成

Azure ストレージにアクセスするには、クラスター構成の spark.conf 設定を使用して、アクセス トークンなどの必要なパラメーターを構成する必要があります。 Azure Data Lake Storage (ADLS) ストレージ アカウントへのアクセスを構成する例については、「 パイプライン内のシークレットを使用してストレージ資格情報に安全にアクセスする」を参照してください。

Hive メタストア パイプラインのイベント ログを操作する

パイプラインが Hive メタストアにテーブルを発行する場合、イベント ログは/system/eventsの場所のstorageに格納されます。 たとえば、パイプライン storage の設定を /Users/username/data と構成した場合、イベン トログは DBFS の /Users/username/data/system/events パスに格納されます。

storage 設定を構成していない場合、既定のイベント ログの場所は DBFS の /pipelines/<pipeline-id>/system/events になります。 たとえば、パイプラインの ID が 91de5e48-35ed-11ec-8d3d-0242ac130003 の場合、格納場所は /pipelines/91de5e48-35ed-11ec-8d3d-0242ac130003/system/events となります。

ビューを作成して、イベント ログのクエリを簡素化できます。 次の例では、event_log_raw という一時ビューを作成します。 このビューは、以下の記事に含まれるイベント ログ クエリの例で使用されます。

CREATE OR REPLACE TEMP VIEW event_log_raw
AS SELECT * FROM delta.`<event-log-path>`;

<event-log-path> をイベント ログの場所に置き換えます。

パイプライン実行の各インスタンスは、更新と呼ばれます。 多くの場合、最新の更新プログラムの情報を抽出する必要があります。 次のクエリを実行して、最新の更新プログラムの識別子を検索し、latest_update_id 一時ビューに保存します。 このビューは、以下の記事に含まれるイベント ログ クエリの例で使用されます。

CREATE OR REPLACE TEMP VIEW latest_update AS
SELECT origin.update_id AS id
FROM event_log_raw
WHERE event_type = 'create_update'
ORDER BY timestamp DESC
LIMIT 1;

Azure Databricks ノートブックまたは SQL エディターでイベント ログにクエリを実行できます。 ノートブックまたは SQL エディターを使用して、イベント ログ クエリの例を実行します。

Unity カタログのないワークスペースのパイプライン ソース コード ノートブックの例

Unity カタログが有効になっていないAzure Databricks ワークスペースに次のノートブックをインポートし、それらを使用して Lakeflow パイプラインをデプロイできます。 選択した言語のノートブックをインポートし、Hive メタストアストレージ オプションを使用してパイプラインを構成するときに、Source コード フィールドにパスを指定します。 「パイプラインの構成」を参照してください。

以下の使用を開始します:

ノートブックを入手

以下の使用を開始します:

ノートブックを入手