Delta Live Tables パイプラインをレガシーのHive metastore で使用する

この記事では、従来のDelta Live Tables にデータを発行するように設定された パイプラインに固有の構成と注意事項について詳しく説明します。Hive metastoreDatabricks では、すべての新しいパイプラインに Unity Catalog を使用することをお勧めします。 「Delta Live Tables パイプラインで Unity Catalog を使用する」を参照してください。

パイプライン データセットをレガシーのHive metastore に公開する

省略可能ですが、新しいパイプラインの開発とテストを超えて移動するたびに、パイプラインによって作成されたテーブルを発行するターゲットを指定する必要があります。 パイプラインをターゲットにパブリッシュすると、Databricks 環境内の他の場所でデータセットをクエリできるようになります。

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

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

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

Delta Live TablesデータセットをレガシーのHive metastoreに公開する方法

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

JSON 設定でスキーマを指定するには、 target 値を設定することもできます。

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

この機能を複数の環境設定で使用して、環境に基づいて異なるスキーマに公開できます。 たとえば、開発用の dev スキーマと本番運用データの prod スキーマに公開できます。

レガシーのHive metastoreでストリーミングテーブルとマテリアライズドビューをクエリする方法

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

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

重要

target設定を作成すると、テーブルと関連するメタデータのみが公開されます。ビューはメタストアに公開されません。

ストレージロケーションを指定する

Hive metastoreにパブリッシュするパイプラインの保管場所を指定できます。場所を指定する主な動機は、パイプラインによって書き込まれたデータのオブジェクトストレージの場所を制御することです。

Delta Live Tables パイプラインのすべてのテーブル、データ、チェックポイント、およびメタデータは BY Delta Live Tablesによってフルマネージされるため、Delta Live Tables データセットとのほとんどの操作は、Hive metastore または Unity Catalogに登録されたテーブルを介して行われます。

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

Google Cloud Storage (GCS) でバケットにアクセスするには、そのGCSバケットにアクセスできるサービス アカウントを作成し、そのサービス アカウントをクラスター設定に追加する必要があります。Google クラウド サービス アカウントの作成について詳しくは、Google Cloud Storageに接続するをご覧ください。サービス アカウント構成は、Delta Live Tables API または Delta Live Tables UI を使用してパイプラインを作成または編集するときに追加できます。

  1. パイプライン のパイプライン詳細 ページで、[ 設定 ] ボタンをクリックします。 [パイプライン設定] ページが表示されます。

  2. [JSON] ボタンをクリックします。

  3. クラスター構成の gcp_attributes.google_service_account フィールドにサービス アカウント構成を入力します。

{
  "clusters": [
    {
      "gcp_attributes": {
        "google_service_account": "test-gcs-doc@databricks-dev.iam.gserviceaccount.com"
      }
    }
  ]
}

Unity Catalogを使用しないワークスペースのパイプライン ソース コード ノートブックの例

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

Delta Live Tablesを使い始めるノートブック(Python版)

ノートブックを新しいタブで開く

Delta Live Tablesを使い始めるノートブック(SQL版)

ノートブックを新しいタブで開く