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に登録されたテーブルを介して行われます。
クラウドストレージの構成
AWS インスタンスプロファイルを使用して、 AWS の S3 ストレージへのアクセスを設定します。 パイプラインを作成または編集するときに Delta Live Tables UI にインスタンスプロファイルを追加するには:
パイプライン のパイプライン詳細 ページで、[ 設定 ] ボタンをクリックします。
インスタンスプロファイルドロップダウンメニューで、パイプライン設定のコンピュートセクションで、インスタンスプロファイルを選択します。
AWSJSONパイプライン クラスターの 設定を編集してJSON インスタンスプロファイルを構成するには、[]aws_attributes.instance_profile_arn
ボタンをクリックし、クラスター構成の [] フィールドにインスタンスプロファイル構成を入力します。
{
"clusters": [
{
"aws_attributes": {
"instance_profile_arn": "arn:aws:..."
}
}
]
}
また、Delta Live Tables パイプラインのクラスターポリシーを作成するときに、インスタンスプロファイルを設定することもできます。 例については、 ナレッジ ベースを参照してください。
Unity Catalogを使用しないワークスペースのパイプライン ソース コード ノートブックの例
Unity Catalog が有効になっていない Databricks ワークスペースに次のノートブックをインポートし、それらを使用して Delta Live Tables パイプラインをデプロイできます。 選択した言語のノートブックをインポートし、 ストレージオプションを使用してパイプラインを構成するときにHive metastore 、ソースコード フィールドにパスを指定します。「Delta Live Tables パイプラインの構成」を参照してください。