data-catalog について
data-catalogは、データ資産のメタデータを管理するスキルです。データの発見、ガバナンス、リネージ追跡を行うデータエンジニアリングチーム向けに、コマンドラインとREST APIで資産の登録・検索やリネージの管理を行えます。
主な機能
- 01資産メタデータの登録と更新
- 02テキストやタグによる検索
- 03資産のリネージ追跡
- 04ガバナンスタグの関連付け
- 05ストレージシステムやデータベースとの接続
活用シーン
- 01ETLワークフローでのデータセット管理
- 02データガバナンスとアクセス制御の監査
- 03データの出所と依存関係の追跡
- 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"})
- POST /api/v1/assets:新しい資産を作成します。curl の例:
設定形式は 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
- 依存関係:データ取り込みや変換などのために、ストレージまたは処理クラスター内のスキルと関連付けられることがよくあります。