Skip to content

cdm catalog

cdm catalog サブコマンドで、コネクション配下のテーブル等のカタログ情報を検索します。

cdm catalog <subcommand> [options]
サブコマンド用途
catalog search-tablesカタログに登録されたテーブルを検索

テーブルの検索

cdm catalog search-tables [options]
  -q, --query <text>           検索キーワード(省略可。複数語はクオートで囲む)
  -c, --connection-id <id>     検索対象のコネクション ID(複数指定可)
  -d, --database <id>          データベース ID で絞り込み(複数指定可)
  -s, --schema <id>            スキーマ ID で絞り込み(複数指定可)
      --starred                スター付きテーブルのみ
      --type <type>             テーブル種別で絞り込み(複数指定可・[下記](#catalog-search-tables-type))
      --limit <n>               取得件数(1–100、省略時 20)
      --offset <n>              スキップ件数(省略時 0)
      --sort <order>            並び順([下記](#catalog-search-tables-sort)のいずれか)
      --profile <name>          利用する profile を指定

コネクション ID は cdm connection list で確認できます。

検索キーワード

  • 空白区切りの複数語は AND(例: "users summary" は両方にマッチするテーブル)
  • | で OR グループを指定(例: "users|orders"
  • 検索語は最大 100 文字
  • --query を省略した場合は、フィルタ条件に合致するテーブルを --limit 件ずつ取得します(既定 20 件。続きは has_next--offset でページング)

並び順(--sort

--sort には次のいずれかを指定します。

指定値意味
score--query あり時のデフォルト)キーワードとの関連度順
path--query なし時のデフォルト)カタログ上の位置順(昇順)
path-descカタログ上の位置順(降順)
rows行数降順
rows-asc行数昇順
popularity利用頻度順

テーブル種別(--type

--type には次のいずれかを指定します(複数指定可)。

table, view, external, materializedView, snapshot, temporary, event, externalShallowClone, foreign, managedShallowClone, metricView, streamingTable

出力

結果は次の形式の JSON です。取得に失敗した場合、エラーメッセージを出力して exit 1 で終了します。

  • tables: テーブル配列
  • has_next: 続きがある場合 true--limit / --offset でページング)
bash
cdm catalog search-tables -q users | jq '.tables[]'
cdm catalog search-tables -q users --limit 50 --offset 50 | jq '.has_next'

出力例:

json
{
  "tables": [
    {
      "type": "table",
      "databaseId": "analytics",
      "schemaId": "public",
      "tableId": "users",
      "rowCount": 12345,
      "description": "利用ユーザのマスタ",
      "columns": [
        { "name": "id", "type": "STRING" },
        { "name": "email", "type": "STRING", "description": "メールアドレス" }
      ]
    }
  ],
  "has_next": false
}

利用例

bash
# 基本検索
cdm catalog search-tables -q users

# 複数キーワード(AND)
cdm catalog search-tables --query "users summary"

# OR 検索
cdm catalog search-tables -q "users|orders"

# コネクション+スキーマ絞り込み
cdm catalog search-tables -q orders -c 671ef14b0d08cf6c657df7da -s public

# クエリなしで一覧(パス順・ページングは --limit / --offset)
cdm catalog search-tables -c CONN_ID --sort path

# スター付きテーブル一覧
cdm catalog search-tables --starred -c CONN_ID --sort path

# ページング
cdm catalog search-tables -q users --limit 50 --offset 50

# ビューのみ
cdm catalog search-tables --type view -c CONN_ID