次の方法で共有


dbt Core に接続する

このページでは、dbt とは何か、dbt Core のインストール方法、接続方法について説明します。 dbt Cloud と呼ばれる、ホストされたバージョンの dbt も使用できます。 詳細については、「 dbt Cloud への接続」を参照してください。

TBS とは?

dbt(data build tool)は、select文を記述してデータを変換するための開発環境です。 dbt は、これらの select ステートメントをテーブルとビューに変換します。 dbt は、コードを生の SQL にコンパイルし、そのコードを、Azure Databricks で指定されたデータベースに対して実行します。 dbtは、バージョン管理、文書化、モジュール化など、協調的なコーディングパターンやベストプラクティスをサポートします。

dbt は、データの抽出または読み込みには使用できません。 dbt は、"読み込み後の変換" アーキテクチャを使用して、変換ステップのみに焦点を合わせています。 dbt では、データベースにデータのコピーが既に存在すると想定しています。

dbt Core を使用すると、ローカル開発マシン上の任意の IDE で dbt のコードを記述し、コマンド ラインから dbt を実行できます。 dbt Core には、dbt コマンド ライン インターフェイス (CLI) が含まれています。 dbt CLI は自由に使用でき、オープン ソースです

dbt Core(および dbt Cloud)はホストされた git リポジトリを使用することができます。 詳細については、 dbt プロジェクトの作成と、dbt Web サイトでの 既存のプロジェクトの使用 を参照してください。

インストール要件

dbt Core をインストールする前に、次のものをローカルの開発用コンピューターにインストールする必要があります。

  • Python 3.7 以降
  • Python 仮想環境を作成するためのユーティリティ ( pipenv など)

また、認証には次のいずれかが必要です。

  • (推奨) アカウントで OAuth アプリケーションとして有効になっている dbt コア。 この機能は、既定では有効になっています。

  • 個人用アクセス トークン

    セキュリティのベスト プラクティスとして、自動化ツール、システム、スクリプト、アプリを使用して認証する場合、Databricks では、OAuth トークンを使用することを推奨しています。

    個人用アクセス トークン認証を使用する場合、Databricks では、ワークスペース ユーザーではなく サービス プリンシパル に属する個人用アクセス トークンを使用することをお勧めします。 サービス プリンシパルのトークンを作成するには、サービス プリンシパル のトークンの管理に関するページを参照してください。

手順 1: dbt Databricks アダプターをインストールする

Python 仮想環境を使用することをお勧めします。これは、他の環境のパッケージ バージョンとコードの依存関係に関係なく、パッケージのバージョンとコードの依存関係を特定の環境に分離するためです。 この分離により、予期しないパッケージ バージョンの不一致とコード依存関係の競合が軽減されます。

Databricks では、 dbt-databricks パッケージのバージョン 1.8.0 以上をお勧めします。

重要

ローカル開発マシンで次のいずれかのオペレーティング システムを使用している場合は、最初に追加の手順 (CentOS、MacOS、Ubuntu、Debian、Windows) を完了する必要があります。 「pip を使用して dbt Labs Web サイトに dbt をインストールする 」の「オペレーティング システムに前提条件がありますか」セクションを参照してください。

手順 2: dbt プロジェクトを作成し、接続設定を指定してテストする

dbt プロジェクト (dbt を使用するために必要な関連ディレクトリとファイルのコレクション) を作成します。 次に、Azure Databricks コンピューティングSQL ウェアハウス、またはその両方への接続設定を含む接続プロファイルを構成します。 セキュリティを強化するために、dbt プロジェクトとプロファイルは既定で別々の場所に格納されます。

  1. 仮想環境がアクティブ化された状態で、プロジェクト名で dbt init コマンドを実行します。 この例では、my_dbt_demo という名前のプロジェクトを作成します。

    dbt init my_dbt_demo
    
  2. databricksspark のどちらかのデータベースを選択するように求めるメッセージが表示されたら、databricks に対応する数値を入力します。

  3. host 値の入力を求められたら、次の操作を行います。

    • コンピューティングの場合は、Azure Databricks コンピューティングの [詳細オプション] の [JDBC/ODBC] タブからサーバー ホスト名の値を入力します。
    • SQL ウェアハウスの場合は、SQL ウェアハウスの [接続の詳細] タブから [サーバー ホスト名] の値を入力します。
  4. http_path 値の入力を求められたら、次の操作を行います。

    • コンピューティングの場合は、Azure Databricks コンピューティングの [詳細オプション] の [JDBC/ODBC] タブから HTTP パスの値を入力します。
    • SQL ウェアハウスの場合は、SQL ウェアハウスの [接続の詳細] タブから HTTP パスの値を入力します。
  5. 認証の種類を選択するために、use oauth (推奨) または use access token に対応する数値を入力します。

  6. 認証の種類に use access token を選択した場合は、Azure Databricks の個人用アクセス トークンの値を入力します。

    セキュリティのベスト プラクティスとして、自動化されたツール、システム、スクリプト、アプリを使用して認証する場合、Databricks では、ワークスペース ユーザーではなく サービス プリンシパル に属する個人用アクセス トークンを使用することをお勧めします。 サービス プリンシパルのトークンを作成するには、サービス プリンシパル のトークンの管理に関するページを参照してください。

  7. desired Unity Catalog option 値の入力を求められたら、use Unity Catalog または not use Unity Catalog に対応する数値を入力します。

  8. Unity カタログの使用を選択した場合は、プロンプトが表示されたときに目的の catalog の値を入力します。

  9. 入力を求められたら、schemathreads の値を入力します。

  10. dbt によってエントリが profiles.yml ファイルに書き込まれます。 このファイルの場所は、dbt init コマンドの出力に表示されます。 この場所は、後で dbt debug --config-dir コマンドを実行して一覧表示することもできます。 ここでこのファイルを開いて、内容を確認して検証することができます。

    認証の種類に use oauth を選択した場合は、マシン間 (M2M) またはユーザー マシン間 (U2M) 認証プロファイルを profiles.yml に追加します。

    例については、「 Microsoft Entra ID を使用して dbt Core から Azure Databricks のサインオンを構成する」を参照してください。

    Databricks では、profiles.yml で直接シークレットを指定することはお勧めしません。 代わりに、クライアント ID とクライアント シークレットを環境変数として設定します。

  11. dbt debug ディレクトリ上でmy_dbt_demoコマンドを実行して、接続の詳細を確認します。

    認証の種類に use oauth を選択した場合は、ID プロバイダーでサインインするように求められます。

    重要

    始める前に、コンピューティングまたは SQL ウェアハウスが実行されていることを確認します。

    次のような出力が表示されます。

    cd my_dbt_demo
    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
    

次の手順

その他の技術情報