schema-mapper について
schema-mapperは、ソース列とターゲットモデルの対応を整理し、変換ルールや不足項目、判断を記録するデータワークフロー用スキルです。データソースの統合、ETLやdbtの計画、データ系譜の確認に役立ちます。
主な機能
- 01列名の一致と型の不一致を比較
- 02ソース列とターゲット列を対応付け
- 03変換ルールと不足項目を記録
- 04列単位のマッピング文書を作成
活用シーン
- 01新しいデータソースを既存モデルに統合
- 02ETLやdbtの変換を計画
- 03移行時のフィールド変更を監査
- 04データカタログ用の列単位の系譜を準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nimrodfisher/ data-analytics-skills --skill schema-mapperインストール後、Claude Code で/schema-mapperを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/schema_mapping_template.mdreferences/schema_mapping_patterns.mdscripts/schema_compare.py詳細
スキーママッパー
使用する場面
- 新しいデータソースを統合し、そのフィールドを既存のデータモデルにマッピングする必要がある場合
- ETL または dbt の変換を設計し、そのロジックを文書化する必要がある場合
- 移行中にフィールドに何が起きたかを監査する場合
- 列の由来を把握する必要がある新しいアナリストを受け入れる場合
- 列レベルのリネージが必要なデータカタログのエントリーを準備する場合
プロセス
- ソーススキーマを収集する — すべての列名、データ型、NULL 許容フラグ、簡潔な説明を一覧にします。
INFORMATION_SCHEMA、データディクショナリ、またはソース API のドキュメントから取得します。 - ターゲットスキーマを収集する — 移行先のテーブルまたはモデルについて、同じ構成の情報を集めます。ターゲットがまだ存在しない場合は、分析要件に基づいてドラフトを作成します。
- ソース列をターゲット列にマッピングする — 各ターゲット列について、値を供給するソース列を特定します。直接マッピング(名前の変更のみ)と派生マッピング(計算、型キャスト、ルックアップ結合)を記録します。
scripts/schema_compare.pyを使って、名前が直接一致する項目を自動で特定します。 - 変換ルールを文書化する — 派生マッピングごとに、変換内容を正確に記述します(例:
CAST(amount_cents AS FLOAT) / 100.0、COALESCE(first_name, email))。 - 不足項目にフラグを付ける — ソースのないターゲット列(作成またはデフォルト値の設定が必要)と、ターゲットのないソース列(破棄または保留)を特定します。それぞれについて判断を記録します。
- マッピング文書を作成する —
assets/schema_mapping_template.mdに全列の一覧を記入し、実装前にレビュー用として共有します。
スキルに必要な入力
- ソーススキーマ:テーブル名、列名、データ型、説明
- ターゲットスキーマ:同じ情報、またはターゲットを定義する分析要件
- 既存の変換ロジック(SQL、dbt モデル、Python コード)
- 値の変換方法やデフォルト値を定めるビジネスルール
- 曖昧なフィールドについて判断できる関係者
出力
scripts/schema_compare.py— 2 つのスキーマを比較し、名前が直接一致する項目と型の不一致を特定しますassets/schema_mapping_template.md— 変換ルール、不足項目、判断を含む、列ごとに完成させたマッピング- 任意:マッピングから生成した変換 SQL または dbt YAML
コメント
Markdown 対応