メインコンテンツまでスキップ

dbt Coreへの接続

このページでは、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 をインストールする前に、ローカルの開発マシンに次のものをインストールする必要があります。

  • Python 3.7 以降

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

  • また、認証には個人用アクセストークンも必要です。

注記

セキュリティのベストプラクティスとして、自動化されたツール、システム、スクリプト、アプリで認証する場合、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 プロジェクトとプロファイルはデフォルトで別々の場所に保存されます。

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

    Bash
    dbt init my_dbt_demo
  2. databricksデータベースまたはsparkデータベースを選択するように求められたら、databricksに対応する番号を入力します。

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

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

    • コンピュートの場合は、JDBCODBCDatabricksコンピュートの 「Advanced Options」の「 / 」タブから 「HTTP Path 」の値を入力します。
    • SQLウェアハウスの場合は、SQLウェアハウスの[接続の詳細] タブから[HTTP パス] の値を入力します。
  5. 認証タイプを選択するには、 use access tokenに対応する番号を入力します。

  6. Databricks 個人用アクセス トークンの値を入力します。

注記

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

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

  2. Unity Catalog を使用することを選択した場合は、プロンプトが表示されたら、catalog に目的の値を入力します。これは、dbt がモデルを構築する初期カタログです。

  3. プロンプトが表示されたら、schemaとthreadsに希望の値を入力してください。threadsの値は、dbtが並行して構築するモデルの数を設定します。4から始めて、コンピュートまたはSQLウェアハウスの容量とデータベースの同時実行制限に基づいて調整してください。詳細については、dbtドキュメントの「スレッドの使用」を参照してください。

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

  5. dbt debug コマンドを実行して、接続の詳細が正しいことを確認します。

重要

開始する前に、コンピュートまたは SQLウェアハウスが動作していることを確認します。

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

Bash
dbt debug
Console
...
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

次のステップ​

追加のリソース​