mcpField
D
data-catalog

data-catalog

github.com/alphaonedevデータ・データベース44 回インストール
リポジトリ

data-catalog について

data-catalogは、データ資産のメタデータを管理するスキルです。データの発見、ガバナンス、リネージ追跡を行うデータエンジニアリングチーム向けに、コマンドラインとREST APIで資産の登録・検索やリネージの管理を行えます。

主な機能

  1. 01資産メタデータの登録と更新
  2. 02テキストやタグによる検索
  3. 03資産のリネージ追跡
  4. 04ガバナンスタグの関連付け
  5. 05ストレージシステムやデータベースとの接続

活用シーン

  1. 01ETLワークフローでのデータセット管理
  2. 02データガバナンスとアクセス制御の監査
  3. 03データの出所と依存関係の追跡
  4. 04データパイプライン出力の自動登録

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill data-catalog

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

詳細

data-catalog

目的

このスキルは、データエンジニアリングのワークフローにおけるデータ資産の発見、ガバナンス、リネージの追跡を可能にするため、メタデータを管理します。データ駆動型プロジェクトを支援するために、データセット、スキーマ、依存関係をカタログ化します。

使用する場面

ETL プロセスの実施中、データガバナンス監査中、データパイプラインの構築時など、プロジェクト内のデータ資産を追跡する必要がある場合に、このスキルを使用します。大規模なデータリポジトリ、コンプライアンス要件、またはデータチームでの共同作業に関するシナリオに適用してください。

主な機能

  • {"name": "sales_data", "schema": {"columns": ["id", "date"]}} のような JSON 構造を使用して、データセットのメタデータを登録、更新します。
  • 全文検索またはタグベースのフィルターを使用して資産を検索、照会し、データの出所をたどるリネージクエリにも対応します。
  • 資産に「sensitive」などのタグを関連付けて、アクセス制御などのガバナンスポリシーを適用します。
  • {"source": "raw_logs", "target": "processed_reports"} のような JSON 形式でリネージグラフを生成します。
  • $DATA_CATALOG_API_KEY による API キーが必要なコネクタを使用して、S3 やデータベースなどのストレージシステムと連携します。

使用パターン

このスキルを使用するには、まず export DATA_CATALOG_API_KEY=your_key のような環境変数で認証します。次に、カタログを初期化し、資産を登録し、必要に応じて照会し、更新を処理するというパターンに従います。パイプラインでは、出力を自動登録するためにスクリプトに組み込んでください。競合を避けるため、操作の前に必ずメタデータを検証してください。

一般的なコマンド/API

操作には dcatalog CLI または REST API を使用します。認証には、リクエストで $DATA_CATALOG_API_KEY が必要です。

  • CLI コマンド:

    • 資産を登録:dcatalog register --asset-name sales_data --type dataset --metadata '{"schema": ["id", "amount"]}' --api-key $DATA_CATALOG_API_KEY
    • 資産を照会:dcatalog search --query "sales" --tags metadata --limit 10
    • リネージを更新:dcatalog update-lineage --source raw_data --target processed_data --relation depends_on
  • API エンドポイント:

    • POST /api/v1/assets:新しい資産を作成します。curl の例:curl -H "Authorization: Bearer $DATA_CATALOG_API_KEY" -d '{"name": "sales_data", "tags": ["metadata"]}' -X POST https://api.opencclaw.com/api/v1/assets
    • GET /api/v1/assets/search?query=sales:資産を検索します。例:curl -H "Authorization: Bearer $DATA_CATALOG_API_KEY" https://api.opencclaw.com/api/v1/assets/search?query=sales
    • PUT /api/v1/lineage:リネージを更新します。コード例:
      import requests
      headers = {"Authorization": f"Bearer {os.environ['DATA_CATALOG_API_KEY']}"}
      response = requests.put('https://api.opencclaw.com/api/v1/lineage', headers=headers, json={"source": "raw_data", "target": "report"})
      

設定形式は JSON ベースです。たとえば、CLI 設定ファイル(~/.dcatalog/config.json)の場合:
{"default_tags": ["data-governance"], "api_endpoint": "https://api.opencclaw.com"}

統合に関する注意事項

API 呼び出しをカスタムオペレーターでラップすることで、このスキルを Apache Airflow や AWS Glue などのデータツールと統合できます。たとえば、Python スクリプトで API クライアントをインポートし、$DATA_CATALOG_API_KEY を渡します。スキーマのバージョンを一致させて互換性を確保してください。マッピングには JSON 設定を使用します。たとえば、{"bucket": "my-bucket", "prefix": "data/"} で S3 バケットにリンクします。本番環境に適用する前に、サンドボックス環境で統合をテストしてください。

エラー処理

API レスポンスの HTTP ステータスコードを確認してエラーを処理します。たとえば、ステータスが 401 の場合は、$DATA_CATALOG_API_KEY の再検証を促します。CLI の場合は、スクリプトで try-catch を使用します:

try:
    subprocess.run(["dcatalog", "register", "--asset-name", "test"], check=True)
except subprocess.CalledProcessError as e:
    print(f"Error: {e.returncode} - {e.output}")

よくある問題には、無効な JSON メタデータ(送信前に json.loads() で検証して修正)や認証の失敗(キーを更新して再試行)があります。デバッグ用にタイムスタンプ付きでエラーを記録してください。

グラフの関係

  • 関連クラスター:data-engineering
  • 関連タグ:metadata, data-governance, data-discovery
  • 依存関係:データ取り込みや変換などのために、ストレージまたは処理クラスター内のスキルと関連付けられることがよくあります。

コメント