mcpField
D
data-engineer

data-engineer

github.com/404kidwizデータ・データベース101 回インストール
リポジトリ

data-engineer について

Data Engineerは、データパイプライン、ストレージ、処理ワークフローの設計と実装を支援するスキルです。バッチ・ストリーミング構成、データ品質、ガバナンス、信頼性、コストを扱います。

主な機能

  1. 01ETL/ELTパイプライン設計
  2. 02バッチ・ストリーム処理の指針
  3. 03データレイクとウェアハウスの計画
  4. 04データ品質とガバナンスの実践
  5. 05信頼性とコストの最適化
  6. 06システム移行の計画

活用シーン

  1. 01ソースから利用層までのパイプライン設計
  2. 02エラー処理と品質チェックの追加
  3. 03分析用途に応じたストレージ選定
  4. 04リアルタイム処理の計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill data-engineer

インストール後、Claude Code で/data-engineerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

EXAMPLES.md
REFERENCE.md
scripts/
run_etl_pipeline.py

詳細

データエンジニア

目的

スケーラブルなデータパイプライン、ETL/ELT ワークフロー、データレイク、データウェアハウスを構築するための、データエンジニアリングに関する専門的な機能を提供します。分散データ処理、ストリーム処理、データ品質、最新のデータスタック技術(Airflow、dbt、Spark、Kafka)を専門とし、信頼性とコストの最適化を重視します。

使用する場面

  • ソースから利用レイヤーまでのエンドツーエンドのデータパイプラインを設計する
  • エラー処理とデータ品質チェックを備えた ETL/ELT ワークフローを実装する
  • 最適なストレージとクエリを備えたデータレイクやデータウェアハウスを構築する
  • リアルタイムのストリーム処理(Kafka、Flink、Kinesis)を設定する
  • データインフラのコストを最適化する(ストレージ階層化、コンピューティング効率)
  • データガバナンスとコンプライアンス(GDPR、データリネージ)を実装する
  • レガシーデータシステムを最新のデータプラットフォームに移行する

クイックスタート

次の場合にこのスキルを呼び出してください:

  • ソースから利用レイヤーまでのエンドツーエンドのデータパイプラインを設計する
  • エラー処理とデータ品質チェックを備えた ETL/ELT ワークフローを実装する
  • 最適なストレージとクエリを備えたデータレイクやデータウェアハウスを構築する
  • リアルタイムのストリーム処理(Kafka、Flink、Kinesis)を設定する
  • データインフラのコストを最適化する(ストレージ階層化、コンピューティング効率)
  • データガバナンスとコンプライアンス(GDPR、データリネージ)を実装する

次の場合は呼び出さないでください:

  • SQL クエリの最適化だけが必要な場合(代わりに database-optimizer を使用)
  • 機械学習モデルを開発する場合(ml-engineer または data-scientist を使用)
  • 簡単なデータ分析や可視化を行う場合(data-analyst を使用)
  • データベース管理タスクを行う場合(database-administrator を使用)
  • データ変換を伴わない API 統合を行う場合(backend-developer を使用)

判断フレームワーク

パイプラインアーキテクチャの選定
├─ Batch Processing?
│   ├─ Daily/hourly schedules → Airflow + dbt
│   │   Pros: Mature ecosystem, SQL-based transforms
│   │   Cost: Low-medium
│   │
│   ├─ Large-scale (TB+) → Spark (EMR/Databricks)
│   │   Pros: Distributed processing, handles scale
│   │   Cost: Medium-high (compute-intensive)
│   │
│   └─ Simple transforms → dbt Cloud or Fivetran
│       Pros: Managed, low maintenance
│       Cost: Medium (SaaS pricing)
│
├─ Stream Processing?
│   ├─ Event streaming → Kafka + Flink
│   │   Pros: Low latency, exactly-once semantics
│   │   Cost: High (always-on infrastructure)
│   │
│   ├─ AWS native → Kinesis + Lambda
│   │   Pros: Serverless, auto-scaling
│   │   Cost: Variable (pay per use)
│   │
│   └─ Simple CDC → Debezium + Kafka Connect
│       Pros: Database change capture
│       Cost: Medium
│
└─ Hybrid (Batch + Stream)?
    └─ Lambda Architecture or Kappa Architecture
        Lambda: Separate batch/speed layers
        Kappa: Single stream-first approach
データストレージの選定
ユースケーステクノロジーメリットデメリット
構造化分析Snowflake/BigQuerySQL、高速なクエリ大規模化に伴うコスト
半構造化データDelta Lake/IcebergACID、スキーマの進化複雑さ
生データのストレージS3/GCS低コスト、高耐久性クエリエンジンがない
リアルタイムRedis/DynamoDB低レイテンシー分析機能が限定的
時系列データTimescaleDB/InfluxDB時系列データに最適化用途が限定的
ETL と ELT の判断
要素ETL(先に変換)ELT(先にロード)
データ量小規模〜中規模大規模(TB 以上)
変換複雑、ロード前SQL ベース、ウェアハウス内
レイテンシー高い低い
コストロード前にコンピューティングウェアハウスのコンピューティング
最適な用途レガシーシステム最新のクラウド DW

コアパターン

パターン 1:冪等なパーティション上書き

ユースケース: 重複を作成せずにバッチジョブを安全に再実行します。

# PySpark example: Overwrite partition based on execution date
def write_daily_partition(df, target_table, execution_date):
    (df
     .write
     .mode("overwrite")
     .partitionBy("process_date")
     .option("partitionOverwriteMode", "dynamic")
     .format("parquet")
     .saveAsTable(target_table))
パターン 2:緩やかに変化するディメンション タイプ 2(SCD2)

ユースケース: 過去の状態を失わずに変更履歴を追跡します。

-- dbt implementation of SCD2
{{ config(materialized='incremental', unique_key='user_id') }}

SELECT 
    user_id, address, email, status, updated_at,
    LEAD(updated_at, 1, '9999-12-31') OVER (
        PARTITION BY user_id ORDER BY updated_at
    ) as valid_to
FROM {{ source('raw', 'users') }}
パターン 3:ストリーミング向けデッドレターキュー(DLQ)

ユースケース: パイプラインを停止させずに、不正な形式のメッセージを処理します。

パターン 4:データ品質サーキットブレーカー

ユースケース: データ品質がしきい値を下回った場合に、パイプラインの実行を停止します。

品質チェックリスト

データパイプライン
  • 冪等性がある(安全に再試行できる)
  • スキーマ検証が適用されている
  • 再試行を含むエラー処理がある
  • データ品質チェックが自動化されている
  • モニタリングとアラートが設定されている
  • リネージが文書化されている
パフォーマンス
  • パイプラインが SLA 内に完了する(例:<1 hour)
  • 適用可能な場合は増分ロードを行う
  • パーティショニング戦略が最適化されている
  • クエリのパフォーマンスが <30 seconds(P95)
コスト最適化
  • ストレージ階層化が実装されている(ホット/ウォーム/コールド)
  • コンピューティングの自動スケーリングが設定されている
  • クエリコストのモニタリングが有効になっている
  • 圧縮が有効になっている(Parquet/ORC)

追加リソース

コメント