「dbtモデルのユニットテストを実装するためのシンプル(かつ効果的な)アプローチ」

Simple (and effective) approach for implementing unit tests for dbt models.

dbtモデルのユニットテストは、dbtエコシステムの最も重要な欠落部分の1つでした。この記事では、標準とdbtのベストプラクティスに依存する新しいユニットテストのアプローチを提案しています。

Fabio Ballasina氏の写真(Unsplashより)

dbtがソフトウェアエンジニアリングのベストプラクティスをデータエンジニアリングの領域に導入して以来、その機能とその周辺のエコシステムは、データ変換のさらなる領域をカバーするために拡大し続けています。

しかし、「ソフトウェアエンジニアリングのベストプラクティスを用いたデータエンジニアリング」のパズルの中で、重要な一部であるユニットテストは未解決の問題のままです。

ユニットテストの重要性、それが「本番用に準備ができた」と呼ばれる前のコードのすべての行に対してなぜ重要であり、dbtのテストやデータ品質テストとは異なるのかについては、すでに見事に取り組まれて説明されています。しかし、1分間のエレベーターピッチでその重要性を要約するなら、次のようになります:

データエンジニアリングでは、一般的に2つの異なる要素をテストしたいと考えています:データとコードです。dbtのテスト(および他のデータ品質システム/ツール)はデータをテストすることを可能にし、ユニットテストはコードをテストすることを可能にします。

上記を考慮すると、コミュニティによるdbtのオープンソースのユニットテスト機能の向上(Equal Expertsのdbt Unit TestingパッケージやGoDataDrivenのdbtに特化したPytestプラグインなど)の試みが複数ありました。しかし、これらのパッケージは機能が制限されており、学習曲線が急です。

この記事では、よりシンプルでエレガントな異なるアプローチを紹介し、スケーラブルで信頼性のあるユニットテストプロセスを実装するために標準とdbtのベストプラクティスに依存しています。

モデルのユニットテスト vs. CTEs

アプローチに入る前に、ユニットテストを実行するレベルを定義しましょう。答えるべき質問は…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AIテクノロジー

「LXTのテクノロジーバイスプレジデント、アムル・ヌール・エルディン - インタビューシリーズ」

アムル・ヌール・エルディンは、LXTのテクノロジー担当副社長ですアムルは、自動音声認識(ASR)の文脈での音声/音響処理と機...

人工知能

ジョナサン・ダムブロット、Cranium AIのCEO兼共同創設者- インタビューシリーズ

ジョナサン・ダムブロットは、Cranium AIのCEO兼共同創業者ですCranium AIは、サイバーセキュリティおよびデータサイエンスチ...

データサイエンス

「Seerの最高データオフィサーであるDr. Serafim Batzoglouによるインタビューシリーズ」

セラフィム・バツォグルはSeerのチーフデータオフィサーですSeerに加わる前は、セラフィムはInsitroのチーフデータオフィサー...

人工知能

「トリントの創設者兼CEO、ジェフ・コフマンへのインタビューシリーズ」

ジェフ・コーフマンは、ABC、CBS、CBCニュースで30年のキャリアを持った後、Trintの創設者兼CEOとなりましたジェフは手作業の...

人工知能

「Ami Hever、UVeyeの共同創設者兼CEO - インタビューシリーズ」

עמיר חבר הוא המנכל והמייסד של UVeye, סטארט-אפ ראיה ממוחשבת בלמידה עמוקה, המציבה את התקן הגלובלי לבדיקת רכבים עם זיהוי...

人工知能

スコット・スティーブンソン、スペルブックの共同創設者兼CEO- インタビューシリーズ

スコット・スティーブンソンは、Spellbookの共同創設者兼CEOであり、OpenAIのGPT-4および他の大規模な言語モデル(LLM)に基...