dbt コア に接続する
この記事では、dbtとは何か、dbt Coreのインストール方法、接続方法について解説します。 dbt Cloud と呼ばれる dbt のホスト型バージョンも利用可能です。 詳細については、「dbt Cloudに接続する」を参照してください。
dbtとは何ですか?
dbt (Data Build Tool) は、select ステートメントを記述してデータを変換するための開発環境です。 dbt は、これらの SELECT 文をテーブルとビューに変換します。 dbt は、コードを生の SQL にコンパイルし、Databricks の指定されたデータベースでそのコードを実行します。 dbt は、バージョン管理、ドキュメント化、モジュール性など、協調的なコーディング パターンとベスト プラクティスをサポートします。
dbt はデータを抽出またはロードしません。 DBT は、"読み込み後の変換" アーキテクチャを使用して、変換ステップのみに焦点を当てています。 DBT は、データベースにデータのコピーが既にあることを前提としています。
dbt Core を使用すると、ローカル開発マシン上の任意の IDE で dbt コードを記述し、コマンド ラインから dbt を実行できます。 dbt Core には、dbt コマンドラインインターフェイス (CLI) が含まれています。 dbt CLIは無料で使用でき、オープンソースです。
dbt Core (および dbt Cloud) は、ホストされた Git リポジトリを使用できます。 詳細については、 Web サイトの「 dbtプロジェクトの作成 」および 「既存のプロジェクトの使用 」を参照してください。dbt
インストール要件
dbt Core をインストールする前に、ローカル開発マシンに以下をインストールする必要があります。
また、認証には個人用アクセストークンも必要です。
注
セキュリティのベスト プラクティスとして、自動化されたツール、システム、スクリプト、アプリを使用して認証する場合、 Databricksでは、ワークスペース ユーザーではなく、サービス プリンシパルに属する個人のアクセス トークンを使用することをお勧めします。 サービスプリンシパルのトークンを作成するには、 「サービスプリンシパルのトークンの管理」を参照してください。
ステップ 1: dbt Databricks アダプターをインストールする
Python 仮想環境を使用すると、他の環境のパッケージ バージョンやコードの依存関係に関係なく、パッケージ バージョンとコードの依存関係がその特定の環境に分離されるため、使用することをお勧めします。これにより、予期しないパッケージ バージョンの不一致やコード依存関係の競合を減らすことができます。
Databricks では、バージョン 1.8.0 以降の dbt-databricks パッケージをお勧めします。
..重要: ローカル開発マシンが次のオペレーティングシステムのいずれかを使用している場合は、最初に追加のステップを完了する必要があります:CentOS、MacOS、Ubuntu、Debian、および Windows。 dbt Labs Web サイトの「 pip を使用して dbt をインストールする 」の「オペレーティング システムに前提条件がありますか」セクションを参照してください。
ステップ 2: dbt プロジェクトを作成し、接続設定を指定してテストする
dbt プロジェクト (dbt を使用するために必要な関連ディレクトリとファイルの集合) を作成します。 次に、Databricks コンピュート 、SQL ウェアハウス 、またはその両方への接続設定を含む接続 プロファイル を構成します。セキュリティを強化するために、dbt プロジェクトとプロファイルはデフォルトで別々の場所に保存されます。
仮想環境をアクティブにしたまま、プロジェクトの名前を指定して dbt init コマンドを実行します。 この手順では、
my_dbt_demo
という名前のプロジェクトを作成します。dbt init my_dbt_demo
databricks
データベースまたはspark
データベースを選択するように求められたら、databricks
に対応する番号を入力します。host
値の入力を求められたら、次の操作を行います。http_path
値の入力を求められたら、次の操作を行います。認証タイプを選択するには、
use access token
に対応する番号を入力します。Databricks の個人用アクセストークンの値を入力します。
注
セキュリティのベスト プラクティスとして、自動化されたツール、システム、スクリプト、アプリを使用して認証する場合、 Databricksでは、ワークスペース ユーザーではなく、サービス プリンシパルに属する個人のアクセス トークンを使用することをお勧めします。 サービスプリンシパルのトークンを作成するには、 「サービスプリンシパルのトークンの管理」を参照してください。
desired Unity Catalog option
値の入力を求められたら、use Unity Catalog
またはnot use Unity Catalog
に対応する番号を入力します。Unity Catalogを使用する場合は、プロンプトが表示されたら、
catalog
に必要な値を入力します。プロンプトが表示されたら、
schema
とthreads
に必要な値を入力します。dbt はエントリを
profiles.yml
ファイルに書き込みます。 このファイルの場所は、dbt init
コマンドの出力にリストされます。 この場所は、後でdbt debug --config-dir
コマンドを実行して一覧表示することもできます。 ここでこのファイルを開いて、その内容を確認および確認できます。dbt debug
コマンドを実行して、接続の詳細が正しいことを確認します。重要
開始する前に、コンピュートまたは SQLウェアハウスが動作していることを確認します。
次のような出力が表示されます。
dbt debug
... Configuration: profiles.yml file [OK found and valid] dbt_project.yml file [OK found and valid] Required dependencies: - git [OK found] Connection: ... Connection test: OK connection ok
次のステップ
dbt コア モデルをローカルで作成、実行、およびテストします。 dbt コアのチュートリアルを参照してください。
dbt Core プロジェクトを Databricks ジョブ タスクとして実行します。 「Databricks ジョブで dbt 変換を使用する」を参照してください。