Delta Live Tables から Hive メタストアにデータを発行する

Hive メタストアにデータセットを発行することで、パイプラインの出力データを検出可能にし、クエリで利用できるようにすることができます。 メタストアにデータセットを発行するには、パイプラインを作成するときに [ターゲット] フィールドにスキーマ名を入力します。 また、既存のパイプラインにターゲット データベースを追加することもできます。

既定では、Delta Live Tables で作成されたすべてのテーブルとビューは、パイプライン ローカルです。 テーブルが宣言されているパイプライン外で Delta Live Tables データセットのクエリを実行したり、データセットを使用するには、テーブルをターゲット スキーマに発行する必要があります。

パイプラインから Unity Catalog にテーブルを発行するには、「Delta Live Tables パイプラインで Unity Catalog を使用する」を参照してください。

Delta Live Tables データセットをスキーマに発行する方法

[パイプライン設定] UI と [パイプラインの作成] UI の [ターゲット スキーマ] フィールドを使用して Delta Live Tables パイプライン内のすべてのテーブルのターゲット スキーマを宣言できます。

target 値を設定することで JSON 構成内でスキーマを指定することもできます。

ターゲット スキーマに結果を発行するには、パイプラインの更新を実行する必要があります。

複数の環境構成でこの機能を使用し、環境に基づいてさまざまなスキーマへの発行を行うことができます。 たとえば、開発の場合は dev スキーマに、運用データの場合は prod スキーマに発行を行うことができます。

Delta Live Tables のデータセットのクエリを実行する方法

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

発行後は、ターゲット スキーマへのアクセス権のあるすべての環境から Delta Live Tables テーブルのクエリを実行することができます。 これには、Databricks SQL、ノートブック、およびその他の Delta Live Tables パイプラインが含まれます。

重要

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

ターゲット スキーマからテーブルを除外する

外部使用を意図していない中間テーブルを計算する必要がある場合、TEMPORARY キーワードを使用してそれらのテーブルがスキーマに発行されるのを防ぐことができます。 一時テーブルも Delta Live Tables セマンティクスに従ってデータを保存して処理しますが、現在のパイプラインの外部からアクセスするべきではありません。 一時テーブルは、それを作成するパイプラインの有効期間中保持されます。 一時テーブルを宣言するには、次の構文を使用します。

SQL

CREATE TEMPORARY MATERIALIZED VIEW temp_table
AS SELECT ... ;

Python

@dlt.table(
  temporary=True)
def temp_table():
  return ("...")