チュートリアル: dbt を Fabric Data Warehouse 用に設定する
適用対象:✅ Microsoft Fabric のウェアハウス
このチュートリアルは dbt の設定と、Fabric Warehouse への最初のプロジェクトのデプロイをガイドします。
はじめに
dbt (データ ビルド ツール) オープンソース フレームワークは、データ変換と分析エンジニアリングを簡略化します。 これは分析レイヤー内の SQL ベースの変換に焦点を当て、SQL をコードとして扱います。 dbt はバージョン管理、モジュール化、テスト、ドキュメントをサポートしています。
Microsoft Fabric 用 dbt アダプターを使って dbt プロジェクトを作成した後、それを Fabric Data Warehouse にデプロイできます。
アダプターを変えるだけで、dbt プロジェクトのターゲット プラットフォームを変更することもできます。たとえば、Azure Synapse 専用 SQL プール用にビルドされたプロジェクトを、数秒で Fabric Data Warehouse にアップグレードできます。
Microsoft Fabric 用 dbt アダプターの前提条件
次の一覧に従って、dbt の前提条件をインストールして設定します。
pip install dbt-fabric
を使用した PyPI (Python Package Index) リポジトリの dbt-fabric アダプターの最新バージョン。pip install dbt-fabric
Note
pip install dbt-fabric
をpip install dbt-synapse
に変更し次の手順を使用することで、Synapse 専用 SQL プール用の dbt アダプターをインストールできます。次のように
pip list
コマンドを使用することで、dbt-fabric とその依存関係がインストールされていることを確認するようにしてください。pip list
このコマンドからはパッケージと現在のバージョンの長いリストが返されるはずです。
まだ用意していない場合は、Warehouse を作成します。 この演習には試用版容量を使用できます。Microsoft Fabric 無料試用版にサインアップし、ワークスペースを作成してから、ウェアハウスを作成します。
dbt-fabric アダプターの使用を開始する
このチュートリアルでは Visual Studio Code を使用しますが、自分で選択したツールを使用して構いません。
自分のマシンに、jaffle_shop デモ dbt プロジェクトをクローンします。
- Visual Studio Code の組み込みソース管理を使用してリポジトリをクローンできます。
- 他にも、たとえば次のように
git clone
コマンドを使用することができます。
git clone https://github.com/dbt-labs/jaffle_shop.git
Visual Studio Code で
jaffle_shop
プロジェクト フォルダーを開きます。既にウェアハウスを作成している場合は、サインアップをスキップできます。
profiles.yml
ファイルを作成します。profiles.yml
に次の構成を追加します。 このファイルは、dbt-fabric アダプターを使用して Microsoft Fabric のウェアハウスへの接続を構成します。config: partial_parse: true jaffle_shop: target: fabric-dev outputs: fabric-dev: authentication: CLI database: <put the database name here> driver: ODBC Driver 18 for SQL Server host: <enter your SQL analytics endpoint here> schema: dbo threads: 4 type: fabric
Note
必要に応じて、
type
をfabric
からsynapse
に変更して、データベース アダプターを Azure Synapse Analytics に切り替えます。 既存の dbt プロジェクトのデータ プラットフォームはすべて、データベース アダプターを変更することで変更できます。 詳細については、dbt のサポートされているデータ プラットフォーム一覧を参照してください。Visual Studio Code ターミナルで Azure に対する自身の認証を行います。
- Azure CLI 認証を使用している場合は、Visual Studio Code ターミナルで
az login
を実行します。 - Microsoft Fabric のサービス プリンシパルまたはその他の Microsoft Entra ID (旧称 Azure Active Directory) 認証については、「dbt (データ ビルド ツール) のセットアップ」と「dbt リソース構成」を参照してください。 詳細については、「Microsoft Fabric の SQL 認証の代替え手段とする Microsoft Entra 認証」を参照してください。
- Azure CLI 認証を使用している場合は、Visual Studio Code ターミナルで
これで接続をテストする準備ができました。 ウェアハウスへの接続をテストするには、Visual Studio Code ターミナルで
dbt debug
を実行します。dbt debug
すべてのチェックが成功した場合は、
jaffle_shop
dbt プロジェクトから dbt-fabric アダプターを使用してウェアハウスに接続できています。次は、アダプターが動作しているかどうかをテストする番です。 最初に
dbt seed
を実行して、サンプル データをウェアハウスに挿入します。dbt run
を実行していくつかのテストに対してデータを検証します。dbt run
dbt test
を実行してデモ dbt プロジェクトで定義されているモデルを実行します。dbt test
これで、dbt プロジェクトを Fabric Data Warehouse にデプロイしました。
異なるウェアハウス間を移動する
dbt プロジェクトを異なるウェアハウス間で移動することは簡単です。 サポートされているウェアハウス上の dbt プロジェクトは、次の 3 段階のプロセスですぐに移行できます。
新しいアダプターをインストールします。 詳細と完全なインストール手順については、「dbt アダプター」を参照してください。
profiles.yml
ファイルでtype
プロパティを更新します。プロジェクトをビルドします。
Fabric Data Factory の dbt
一般的なワークフロー管理システムである Apache Airflow と統合すると、dbt はデータ変換を調整するための強力なツールになります。 Airflow のスケジューリングとタスク管理機能により、データ チームは dbt の実行を自動化できます。 これにより、定期的なデータ更新が保証され、分析とレポートのために高品質のデータの一貫したフローが維持されます。 このアプローチを組み合わせることで、dbt の変換の専門知識と Airflow のワークフロー管理を組み合わせることで、効率的で信頼性の高いデータ パイプラインが提供され、最終的には、より迅速で洞察に富んだデータに基づいた意思決定につながります。
Apache Airflow は、複雑なデータ ワークフローをプログラムで作成、スケジュール、監視するために使用されるオープンソース プラットフォームです。 これにより、オペレーターと呼ばれる一連のタスクを定義でき、有向非循環グラフ (DAG) と組み合わせてデータ パイプラインを表すことができます。
ウェアハウスで dbt を運用化する方法について詳しくは、Microsoft Fabric の Data Factory での dbt を使用したデータの変換に関する記事をご覧ください。
考慮事項
dbt-fabric アダプターを使用する場合に考慮すべき重要な点は以下です。
Fabric では、ユーザー プリンシパル、ユーザー ID、サービス プリンシパルのための、Microsoft Entra ID (旧称 Azure Active Directory) による認証がサポートされています。 ウェアハウス上で対話形式で作業するために推奨される認証モードは、CLI (コマンド ライン インターフェイス) であり、自動化にサービス プリンシパルを使用します。
Fabric Data Warehouse でサポートされていない T-SQL (Transact-SQL) コマンドを確認します。
一部の T-SQL コマンドは、dbt-fabric アダプターで
Create Table as Select
(CTAS)、DROP
、CREATE
コマンド (ALTER TABLE ADD/ALTER/DROP COLUMN
、MERGE
、TRUNCATE
、sp_rename
など) を使用してサポートされます。サポートされている、およびサポートされていないデータ型を確認するには、「サポートされていないデータ型」を参照してください。
Issues · microsoft/dbt-fabric · GitHub にアクセスして、GitHub で dbt-fabric アダプターについてのイシューを記録できます。