Data Catalog の検索構文

このドキュメントでは、Data Catalog の検索クエリの構文について説明します。このドキュメントを読む前に、Data Catalog のコンセプト(データエントリ、タグ、タグ テンプレート、その他の種類のメタデータなど)について理解しておくことが重要です。Data Catalog とはをご覧ください。

Google Cloud コンソールで Data Catalog の検索クエリを起動するには、[Dataplex Search] ページに移動します。

[Dataplex Search] に移動

最も簡単な形式は、述語を 1 つだけ含む Data Catalog の検索クエリです。そのような述語は、複数のメタデータに一致する可能性があります。

  • データアセットの名前、表示名、または説明文の部分文字列
  • データアセットの正確な種類
  • データアセットのスキーマにおける列名(またはネストされた列名)の部分文字列
  • プロジェクト ID の部分文字列
  • 公開タグの値、公開タグ テンプレートの名前、またはデータエントリに添付された公開タグ テンプレートのフィールド名。
  • (プレビュー)データ スチュワードのメールアドレスまたは名前の文字列
  • (プレビュー)概要説明の文字列

単純な検索では、datetime タイプのタグ テンプレート フィールドはサポートされません。

たとえば、述語 foo は次のエンティティと一致します。

  • foo.bar という名前のデータアセット
  • Foo Bar という表示名のデータアセット
  • This is the foo script. という説明のデータアセット
  • 正確に foo タイプであるデータアセット
  • データアセットのスキーマの列 foo_bar
  • データアセットのスキーマのネストされた列 foo_bar
  • プロジェクト prod-foo-bar
  • foo という名前の公開タグ テンプレート、foo タグ テンプレートでタグ付けされたデータエントリ、foo という表示名のタグ テンプレート、foo という名前のタグ テンプレートのフィールド、文字列、列挙型、またはリッチテキスト内のタグフィールド値 foo
  • (プレビュー)foo というデータ スチュワードによるデータアセット。
  • (プレビュー)foo という単語を含む概要を含むデータアセット。

公開タグと非公開タグを表示するロールと権限の詳細については、公開タグと非公開タグを表示するロールをご覧ください。

修飾された述語

述語の先頭にキーを付けて修飾すると、照合範囲を特定のメタデータ部分に限定できます。

等号(=)は、検索の対象を完全一致に絞り込むものです。

キーの後のコロン(:)は、述語を検索結果内の値に含まれる部分文字列またはトークンと照合します。

トークン化により、テキストのストリームが一連のトークン(各トークンは通常 1 つの単語に対応)に分解されます。

次に例を示します。

  • name:foo は、foo 部分文字列(foo1barfoo)を含む名前のエンティティを選択します。
  • description:foo は、説明(bar and foo)の foo トークンを持つエンティティを選択します。
  • location=foo は、ロケーション名として foo を使用して、指定されたロケーションのすべてのデータアセットを照合します。

Data Catalog は、次の修飾子をサポートしています。

修飾子 説明
name:x x をデータアセット ID の部分文字列と照合します。
displayname:x x をデータアセットの表示名の部分文字列と照合します。
column:x x をデータアセットのスキーマにおける列名(またはネストされた列名)の部分文字列と照合します。
AND 論理演算子を使用して、ネストされた列をパスで検索できます。
たとえば、column:(foo bar) はネストされた列を foo.bar のパスと照合します。
description:x x をデータアセットの説明のトークンと照合します。
label:bar ラベル(ある値を持つ)を持つ BigQuery データアセットを照合します。ラベルキーには部分文字列として bar があります。
label=bar ラベル(値があるもの)を持ち、ラベルキーが文字列として bar と等しい BigQuery データアセットと一致します。
label:bar:x x を、BigQuery データアセットに添付されたキー bar を含むラベルの値の部分文字列と照合します。
label=foo:bar キーが foo でキー値が bar である BigQuery データアセットと照合します。
label.foo=bar キーが foo でキー値が bar である BigQuery データアセットと照合します。
label.foo ラベルを持ち、ラベルキーが文字列として foo と等しい BigQuery データアセットと一致します。
type=<type> 特定のオブジェクト タイプまたはサブタイプのデータアセットを照合します。サブタイプは形式 <type>.<sub-type>. に追加できます。
タイプとサブタイプには次が含まれます。
  • type=table はすべてのテーブルを照合します。
  • type=dataset は、すべてのデータセットを照合します。
  • type=table.view または type=view はすべてのビューを照合します。
  • type=lake はすべてのレイクを照合します。
  • type=zone はすべてのゾーンを照合します。
  • type=tag_template はすべてのタグ テンプレートを照合します。
  • type=entry_group はすべてのエントリ グループを照合します。
  • type=data_stream はすべての Pub/Sub トピックを照合します。
  • (プレビュー)type=dataset.linked は、Analytics Hub にリンクされたすべてのデータセットを照合します。
projectid:bar bar と ID の部分文字列が一致する Cloud プロジェクト内のデータアセットを照合します。
parent:x x を BigQuery データアセットの階層パスの文字列部分と照合します。パスの形式は <project_id>.<dataset_name> です。
たとえば、parent:foo.bar は、パスが project-foo.bar-dataset であるデータセットのすべてのテーブルとビューを照合します。
orgid=number Cloud 組織内のデータアセットを number の正確な ID 値と照合します。
system=<system> 指定されたシステムのすべてのデータアセットを照合します。
システムには次が含まれます。
  • system=bigquery は、BigQuery のすべてのデータアセットを照合します。
  • system=cloud_bigtable は Bigtable のすべてのデータアセットを照合します。
  • system=cloud_pubsub は、Pub/Sub のすべてのデータアセットを照合します。
  • system=cloud_spanner は、Spanner のすべてのデータアセットを照合します。
  • system=dataproc_metastore は Dataproc Metastore のすべてのデータアセットを照合します。
  • system=data_catalog は、Data Catalog で作成されたすべてのデータアセットを照合します。
  • system=dataplex は、Dataplex で作成されたすべてのデータアセットを照合します。
location=<location> 指定されたロケーションのすべてのデータアセットを正確な名前と照合します。たとえば、location=us-central1 は、アイオワでホストされているすべてのアセットに一致します。
サポートされているロケーションの一覧については、Data Catalog のリージョンをご覧ください。
cluster_location=<location> 指定されたロケーションのすべての Bigtable データアセットを正確な名前と照合します。
たとえば、cluster_location=us-central1 はアイオワでホストされているすべてのアセットを照合します。
サポートされているロケーションの完全なリストについては、Bigtable のリージョンをご覧ください。
tag:x x が、非公開タグまたは公開タグの <tag_template_project_id>.<tag_template_id>.<tag_field_id> の任意の部分文字列と一致するデータアセットと一致します。
例:
  • tag:data_owner は、data_owner タグを持つデータアセットを照合します。
  • tag:data_gov_template は、data_gov_template タグ テンプレートでタグ付けされたデータアセットを照合します。
  • tag:mycloudproject.data_gov_template は、mycloudproject プロジェクトの data_gov_template テンプレートでタグ付けされたデータアセットを照合します。
tag:key<operator>val まずは key とタグフィールド ID、タグ テンプレート ID、またはタグ テンプレートの Google Cloud プロジェクト ID の部分文字列を照合します。次に、タグ フィールドのタイプに応じて、valkey のタグの値と照合します。
タグの値に対して許可されるタイプ依存の <operator> セットは次のとおりです。
  • string/richtext: ":"
    注: この文字列検索のコロンは、部分文字列ではなくトークンの完全一致を示します。
  • booleanenum: "="
  • double: "="、"<"、">"、"<="、">="
  • timestamp: ":", "=", "<", ">", "<=", ">="
例:
  • string: tag:data_owner:@mail.com は、@mail.com 値を持つデータアセットを照合します。
  • boolean: tag:data_gov_template.hasPII=true は、true である data_gov_templatehasPII boolean タグを照合します。
  • enum: tag:certification_level_1=HIGHEST
  • double: tag:datascore=9 は、値が 9 である datascore double タグを持つデータアセットを照合します。
  • timestamp: tag:expiredDate:2019-01-01 は、2019-01-01expiredDate タグがあるデータアセットを照合します。
  • timestamp: tag:expiredDate<2019-02 は、2019-02-01T00:00:00 より前に expiredDate タグがあるデータアセットを照合します。
createtime 指定した日時以前または以降に作成されたデータアセットを検索します。
例:
  • createtime:2019-01-01 は、2019-01-01 で作成されたデータアセットを照合します。
  • createtime<2019-02 は、2019-02-01T00:00:00 より前に作成されたデータアセットを照合します。
  • createtime>2019-02 は、2019-02-01T00:00:00 以降に作成されたデータアセットを照合します。
updatetime 指定した日時以前または以降に更新されたデータアセットを検索します。
例:
  • updatetime:2019-01-01 は、2019-01-01 で更新されたデータアセットを照合します。
  • updatetime<2019-02 は、2019-02-01T00:00:00 より前に更新されたデータアセットを照合します。
  • updatetime>2019-02 は、2019-02-01T00:00:00 以降に更新されたデータアセットを照合します。
policytag:x xポリシータグの表示名の部分文字列として照合します。一致ポリシータグまたはその子孫を使用するすべてのアセットを検索します。
policytagid=x xポリシータグまたは分類 ID として照合します。一致ポリシータグまたはその子孫を使用するすべてのアセットを検索します。
term:x 名前、説明、またはデータ スチュワードの部分文字列が x と一致するビジネス用語集の用語に接続されているデータアセットを照合します。
fully_qualified_name:x xfully_qualified_name の部分文字列として照合します。
fully_qualified_name=x xfully_qualified_name として照合します。

論理演算子

クエリが複数の述語と論理演算子で構成されている場合があります。演算子を指定しないと、論理 AND が使用されます。たとえば、foo bar は、述語 foo と述語 bar の両方に一致するエンティティを返します。

論理 AND と論理 OR がサポートされています(たとえば、foo OR bar)。

述語の先頭に - または NOT を付けると、述語を否定できます。たとえば、-name:foo は、述語 foo と一致しない名前を持つすべてのエンティティを返します。

簡略構文

簡略化された検索構文も使用できます。OR 演算子には | を、AND 演算子には , を使用します。

たとえば、OR 演算子を使用して、複数のプロジェクトの 1 つのエントリを検索するには、次の構文を使用します。

projectid:(pid1|pid2|pid3|pid4)

これは、以下を置き換えるものです。

projectid:pid1 OR projectid:pid2 OR projectid:pid3 OR projectid:pid4

列名が一致するエントリを検索するには:

  • AND: column:(name1, name2, name3)
  • OR: column:(name1|name2|name3)

この簡略構文は、tagtermpolicytagpolicytagidlabel を除く、上記の修飾された述語で使用できます。