pair-programming with AI

Claude Code を使い dbt model を Test-First で開発する

このポストについて Claude Code による dbt model 開発を test-first でやったらいい感じだったのでそれを紹介する。 実際に dbt model におけるある機能を test-first で開発するということをやってみる。 なんかしっくりこない Claude Code による dbt model 開発 現在本業でデータ基盤の移行を行っており、dbt model をたくさん作る必要がある。 Claude Code を使ってこの作業が楽にならないかなーと考えていたんだけど、それがなかなかしっくりこない。 なぜしっくりこないかというと、以降に際して dbt model を開発するために多様なコンテキストが必要になってくるということだと認識している。 例えばある1つの ETL 処理を dbt model に移行するにあたり、次のようなコンテキストを使いたい。 旧データ基盤の実装コード (Glue Job, Athena など) OpenMetadata に存在する旧データ基盤のメタデータ情報 社内の data modeling のルール (命名、その他) 参考にできそうな移行済み model 移行先である Databricks の仕様 などなど… このあたりのコンテキストをいい感じに整理して Claude Code が利用できるようにすべきなんだけど、その整理がまだ進んでいない。 (やれよって話なのはわかっています…) というので Claude Code がバシッとハマるという感覚をまだ得られずにいた。 dbt の unit tests で、データ基盤移行でちょっと複雑な処理を dbt model に実装しないといけなくなり、これまでやっていなかった dbt の unit test を導入することにした。 ...

10月 14, 2025 · soonraah
medallion architecture

ふつうのデータ基盤移行 - Part 3. アーキテクチャ編

このポストについて データ基盤移行について書いていくシリーズです。 シリーズ一覧はこちらから。 前回 Part 2. 技術選定編では技術選定について書きました。 今回はそれを踏まえた結果としてどのようなアーキテクチャになったかを書きます。 スコープ 前回の記事ではプラットフォームとして Databricks を選定したことやその経緯について記載しました。 一方、それより詳細な技術スタックを含むシステムアーキテクチャについては示していませんでした。 例えばデータ基盤では通常次のような技術スタックについて考える必要があります。 データ取込 workflow orchestration ELT (or ETL) storage これらについて述べ、またデータ基盤の階層構造についても説明します。 システムアーキテクチャ データ基盤のシステム・アーキテクチャです。 よく混同されがちですが、データアーキテクチャではありません。 AWS + Databricks の構成をベースとして構築されています。 概要図 データ取込 現時点ではデータソースとしては S3 に置かれた半構造化データ (JSON)、RDS がメインとなっています。 これら2つの取込方法について述べます。 まず、S3 のデータは SQL の copy into 文により取り込んでいます。 Get started using COPY INTO to load data | Databricks Documentation Auto Loader を使う方が Databricks 的でありそれも検討したのですが、schema evolution や冪等性など検討した結果として copy into を採用しました。 RDS からのデータ取込は foreign catalog 経由で行います。 ...

6月 11, 2025 · soonraah