Dataplex Catalog の検索構文

このドキュメントでは、Dataplex 検索クエリの構文について説明します。このドキュメントを読む前に、データエントリ、アスペクト、アスペクト タイプ、エントリ グループ、エントリタイプなどの Dataplex Catalog のコンセプトを理解しておくことが重要です。詳細については、Dataplex Catalog の概要をご覧ください。

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

検索に移動

詳細については、Dataplex Catalog でデータアセットを検索するをご覧ください。

最も簡単な形式の Dataplex Catalog 検索クエリは、単一の述語で構成されます。そのような述語は、複数のメタデータに一致する可能性があります。

  • データアセットの名前、表示名、または説明文の部分文字列
  • データアセットのタイプの部分文字列
  • データアセットのスキーマにおける列名(またはネストされた列名)の部分文字列
  • プロジェクト ID の部分文字列
  • 概要の説明の文字列

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

  • foo.bar という名前のデータアセット
  • Foo Bar という表示名のデータアセット
  • This is the foo script という説明のデータアセット
  • 厳密なタイプは foo であるデータアセット
  • データアセットのスキーマの列 foo_bar
  • データアセットのスキーマのネストされた列 foo_bar
  • プロジェクト prod-foo-bar
  • 概要に「foo」という単語を含むデータアセット

修飾された述語

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

  • 等号(=)は、検索の対象を完全一致に絞り込むものです。
  • キーの後のコロン(:)は、述語を検索結果内の値に含まれる部分文字列またはトークンと照合します。

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

次に例を示します。

  • name:foo は、foo 部分文字列(foo1barfoo)を含む名前のエンティティを選択します。
  • description:foo は、説明に foo トークン(barfoo など)を含むエンティティを選択します。
  • location=foo は、ロケーション名が foo の指定されたロケーション内のデータアセットを照合します。

述語キー typesystemlocationorgid は、部分文字列修飾子(:)ではなく、完全一致修飾子(=)のみをサポートします(例: type=fooorgid=number)。

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

修飾子 説明
name:x x をデータアセット ID の部分文字列と照合します。
displayname:x x をデータアセットの表示名の部分文字列と照合します。
column:x x をデータアセットのスキーマにおける列名(またはネストされた列名)の部分文字列と照合します。
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 特定のエントリタイプまたはその型エイリアスのデータアセットを照合します。
projectid:bar bar と ID の部分文字列が一致する Google Cloud プロジェクト内のデータアセットを照合します。
parent:x x をデータアセットの階層パスの文字列部分と照合します。親パスは、親リソースの fully_qualified_name です。
orgid=number Google Cloud 組織内のデータアセットを number の正確な ID 値と照合します。
system=SYSTEM 指定されたシステムのデータアセットを照合します。
location=LOCATION

指定されたロケーションのすべてのデータアセットを正確な名前と照合します。たとえば、location=us-central1 はアイオワでホストされているアセットに一致します。

BigQuery Omni アセットは、BigQuery Omni のロケーション名を使用してこの修飾子をサポートしています。たとえば、location=aws-us-east-1 は北バージニアの BigQuery Omni アセットを照合します。

createtime

指定した日時以前または以降に作成されたデータアセットを検索します。

次に例を示します。

  • createtime:2019-01-01 は、2019-01-01 に作成されたデータアセットを照合します。
  • createtime<2019-02 は、2019-02-01T00:00:00 より前に作成されたデータアセットを照合します。
  • createtime>2019-02 は、2019-02-01T00:00:00 より後に作成されたデータアセットを照合します。

タイムスタンプ形式: YYYY-MM-DDThh:mm:ss

すべてのタイムスタンプは GMT にする必要があります(タイムゾーンはサポートされていません)。部分的なタイムスタンプ、ハイフン(-)の日付区切り文字、スラッシュ(/)の日付区切り文字がサポートされています。

次に例を示します。

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
updatetime

指定した日時以前または以降に更新されたデータアセットを検索します。

次に例を示します。

  • updatetime:2019-01-01 は、2019-01-01 に更新されたデータアセットを照合します。
  • updatetime<2019-02 は、2019-02-01T00:00:00 より前に更新されたデータアセットを照合します。
  • updatetime>2019-02 は、2019-02-01T00:00:00 以降に更新されたデータアセットを照合します。

タイムスタンプ形式: YYYY-MM-DDThh:mm:ss

すべてのタイムスタンプは GMT にする必要があります(タイムゾーンはサポートされていません)。部分的なタイムスタンプ、ハイフン(-)の日付区切り文字、スラッシュ(/)の日付区切り文字がサポートされています。

次に例を示します。

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
fully_qualified_name:x xfully_qualified_name の部分文字列として照合します。
fully_qualified_name=x xfully_qualified_name として照合します。

付加されたアスペクトに基づいてエントリを検索するには、次のクエリ構文を使用します。

修飾子 説明
aspect:x エントリにアタッチされているアスペクトのアスペクト タイプの完全パスのサブ文字列として x と一致します(projectid.location.ASPECT_TYPE_ID 形式)。
aspect=x エントリにアタッチされているアスペクトのアスペクト タイプの完全パスとして x を照合します(projectid.location.ASPECT_TYPE_ID 形式)。
aspect:xOPERATORvalue

アスペクト フィールドの値を検索します。x を、エントリにアタッチされているアスペクトのタイプとフィールド名の完全パスの部分文字列として照合します(projectid.location.ASPECT_TYPE_ID.FIELD_NAME 形式)。

サポートされる演算子のリストは、次のようにアスペクト内のフィールドのタイプによって異なります。

  • 文字列: =(完全一致)と :(部分一致)
  • すべての数値型: =:<><=>==>=<
  • 列挙型: =
  • 日時: 数値の場合と同じですが、比較する値は数値ではなく日時として扱われます。
  • ブール値: =

検索できるのは、アスペクトの最上位フィールドのみです。

たとえば、次のクエリはすべて、employee-info アスペクトの is-enrolled フィールドの値が true であるエントリに一致します。サブ文字列に一致する他のエントリも返されます。

  • aspect:example-project.us-central1.employee-info.is-enrolled=true
  • aspect:example-project.us-central1.employee=true
  • aspect:employee=true

論理演算子

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

論理 AND と論理 OR がサポートされています。例: foo OR bar

述語の先頭に -(ハイフン)または NOT 接頭辞を付加すると、述語を否定できます。たとえば、-name:foo は、述語 foo と一致しない名前を持つエンティティを返します。

論理演算子では大文字と小文字が区別されません。たとえば、orOR はどちらも許容されます。

簡略構文

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

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

projectid:(id1|id2|id3|id4)

省略形の構文を使用しない同じ検索は次のようになります。

projectid:id1 OR projectid:id2 OR projectid:id3 OR projectid:id4

列名が一致するエントリを検索するには、次のコードを使用します。

  • 論理積: column:(name1, name2, name3)
  • 論理和: column:(name1|name2|name3)

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

次のステップ