Suchsyntax für Data Catalog

In diesem Dokument wird die Syntax für Suchanfragen an Cloud Data Catalog beschrieben. Bevor Sie dieses Dokument lesen, ist es wichtig, dass Sie die Konzepte von Data Catalog wie Dateneingabe, Tags, Tag-Vorlagen und andere Arten von Metadaten verstehen. Siehe Was ist Data Catalog?

Rufen Sie die Seite Dataplex-Suche auf, um eine Data Catalog-Suchabfrage in der Google Cloud Console zu starten.

Dataplex Search aufrufen

In der einfachsten Form umfasst eine Data Catalog-Suchabfrage ein einzelnes Prädikat. Ein solches Prädikat kann mit mehreren Metadaten übereinstimmen:

  • Teilstring eines Namens, Anzeigenamens oder der Beschreibung eines Daten-Assets
  • Exakte Art eines Daten-Assets
  • Ein Teilstring eines Spaltennamens (oder verschachtelten Spaltennamen) im Schema eines Datenassets
  • Ein Teilstring einer Projekt-ID
  • Der Wert eines öffentlichen Tags, der Name einer öffentlichen Tag-Vorlage oder ein Feldname in einer öffentlichen Tag-Vorlage, die an einen Dateneintrag angehängt ist.
  • (Vorschau) Ein String für eine E-Mail-Adresse oder einen Namen für einen Data Steward
  • (Vorschau) Ein String aus einer Übersichtsbeschreibung

Bei der einfachen Suche werden keine Tag-Vorlagenfelder vom Typ datetime unterstützt.

Das Prädikat foo stimmt beispielsweise mit den folgenden Entitäten überein:

  • Datenasset mit dem Namen foo.bar
  • Datenasset mit dem Anzeigenamen Foo Bar
  • Datenasset mit der Beschreibung This is the foo script.
  • Datenasset mit dem genauen Typ foo
  • Spalte foo_bar im Schema eines Datenassets
  • Verschachtelte Spalte foo_bar im Schema eines Datenassets
  • Projekt prod-foo-bar
  • Öffentliche Tag-Vorlage mit dem Namen foo, Dateneinträge, die mit der Tag-Vorlage foo, Anzeigename der Tag-Vorlage foo, der Name des Tag-Vorlagenfelds von foo und der Tag-Feldwert foo in einem String, einer Enum oder einem Rich-Text-Format sind.
  • (Vorabversion) Daten-Asset mit einem Data Steward namens foo.
  • (Vorabversion) Daten-Asset mit einer Übersicht, die das Wort „foo“ enthält.

Weitere Informationen zu den Rollen und Berechtigungen zum Aufrufen öffentlicher und privater Tags finden Sie unter Rollen zum Ansehen von öffentlichen und privaten Tags.

Qualifizierte Prädikate

Sie können ein Prädikat qualifizieren, indem Sie ihm einen Schlüssel voranstellen, der die Übereinstimmung auf ein bestimmtes Metadatenelement einschränkt.

Ein Gleichheitszeichen (=) beschränkt die Suche auf eine genaue Übereinstimmung.

Ein Doppelpunkt (:) nach dem Schlüssel, der das Prädikat entweder mit einem Teilstring oder Token innerhalb des Werts in den Suchergebnissen übereinstimmt.

Bei der Tokenisierung wird der Textfluss in eine Reihe von Tokens unterteilt, wobei jedes Token in der Regel einem einzelnen Wort entspricht.

Beispiel:

  • Mit name:foo werden Entitäten mit Namen ausgewählt, die den Teilstring foo enthalten: foo1 und barfoo.
  • Mit description:foo werden Entitäten mit dem Token foo in der Beschreibung ausgewählt: bar and foo.
  • location=foo gleicht alle Daten-Assets an einem bestimmten Standort mit foo als Standortname ab.

Der Data Catalog unterstützt die folgenden Qualifier:

Kennzeichner Beschreibung
name:x Führt zu Übereinstimmung von x mit einem Teilstring der Daten-Asset-ID.
displayname:x Führt zu Übereinstimmung von x mit einem Teilstring des Anzeigenamens des Daten-Assets.
column:x Stimmt mit x als Teilstring des Spaltennamens (oder des verschachtelten Spaltennamens) im Schema des Daten-Assets überein.
Sie können mithilfe des logischen Operators UND nach einer verschachtelten Spalte nach ihrem Pfad suchen.
Beispiel: column:(foo bar) stimmt mit einer verschachtelten Spalte mit dem Pfad foo.bar überein.
description:x Führt zu Übereinstimmung von x mit einem Token in der Beschreibung des Daten-Assets.
label:bar Führt zu Übereinstimmung mit BigQuery-Datenassets, die ein Label haben (mit einem Wert) und deren Labelschlüssel bar als Teilstring hat.
label=bar Gleicht BigQuery-Daten-Assets ab, die ein Label (mit einem bestimmten Wert) haben und der Labelschlüssel gleich bar als String ist.
label:bar:x Stimmt mit x als Teilstring im Wert eines Labels mit dem Schlüssel bar überein, der an ein BigQuery-Daten-Asset angehängt ist.
label=foo:bar Entspricht BigQuery-Daten-Assets, bei denen der Schlüssel gleich foo und der Schlüsselwert bar ist.
label.foo=bar Entspricht BigQuery-Daten-Assets, bei denen der Schlüssel gleich foo und der Schlüsselwert bar ist.
label.foo Gleicht BigQuery-Daten-Assets mit einem Label ab, dessen Schlüssel mit foo als String übereinstimmt.
type=<type> Führt zu Übereinstimmung mit Datenassets eines bestimmten Objekttyps oder Subtyps. Subtypen können im folgenden Format hinzugefügt werden: <type>.<sub-type>.
Zu den Typen und Untertypen gehören:
  • type=table führt zu Übereinstimmung mit allen Tabellen.
  • type=dataset stimmt mit allen Datasets überein.
  • type=table.view oder type=view führt zu Übereinstimmung mit allen Ansichten.
  • type=lake stimmt mit allen Lakes überein.
  • type=zone entspricht allen Zonen.
  • type=tag_template führt zu Übereinstimmung mit allen Tag-Vorlagen.
  • type=entry_group führt zu Übereinstimmung mit allen Eintragsgruppen.
  • type=data_stream führt zu Übereinstimmung mit allen Pub/Sub-Themen.
  • (Vorschau) type=dataset.linked stimmt mit allen verknüpften Analytics Hub-Datasets überein.
projectid:bar Führt zu Übereinstimmung mit Datenassets in Cloud-Projekten, die bar als Teilstring in der ID enthalten.
parent:x Führt zu Übereinstimmung von x mit einem Teilstring des hierarchischen Pfads eines BigQuery-Daten-Assets. Der Pfad hat das Format <project_id>.<dataset_name>.
parent:foo.bar entspricht beispielsweise allen Tabellen und Ansichten eines Datasets mit dem Pfad project-foo.bar-dataset.
orgid=number Führt zu Übereinstimmung mit Datenassets in einer Cloudorganisation mit dem genauen ID-Wert number.
system=<system> Führt zu Übereinstimmung mit allen Daten-Assets eines angegebenen Systems .
Zu den Systemen gehören:
  • system=bigquery führt zu Übereinstimmung mit allen Datenassets von BigQuery.
  • system=cloud_bigtable stimmt mit allen Daten-Assets aus Bigtable überein.
  • system=cloud_pubsub führt zu Übereinstimmung mit allen Datenassets von Pub/Sub.
  • system=cloud_spanner stimmt mit allen Daten-Assets aus Spanner überein.
  • system=dataproc_metastore führt zu Übereinstimmung mit allen Datenassets von Dataproc Metastore.
  • system=data_catalog führt zu Übereinstimmung mit allen Datenassets, die in Data Catalog erstellt wurden.
  • system=dataplex stimmt mit allen in Dataplex erstellten Daten-Assets überein.
location=<location> Führt zu Übereinstimmung mit allen Daten-Assets an einem angegebenen Standort mit einem genauen Namen. Beispiel: location=us-central1 stimmt mit allen Assets überein, die in Iowa gehostet werden.
Eine vollständige Liste der unterstützten Standorte finden Sie unter Data Catalog-Regionen.
cluster_location=<location> Gleicht alle Bigtable-Daten-Assets an einem angegebenen Standort mit einem genauen Namen ab.
Beispiel: cluster_location=us-central1 entspricht allen in Iowa gehosteten Assets.
Eine vollständige Liste der unterstützten Standorte finden Sie unter Bigtable-Regionen.
tag:x Gleicht Daten-Assets ab, bei denen x mit einem beliebigen Teilstring in <tag_template_project_id>.<tag_template_id>.<tag_field_id> eines privaten oder öffentlichen Tags übereinstimmt.
Beispiele:
  • tag:data_owner führt zu Übereinstimmung mit Daten-Assets, die das Tag data_owner enthalten.
  • tag:data_gov_template führt zu Übereinstimmung mit Datenassets, die mit der Tag-Vorlage data_gov_template getaggt wurden.
  • tag:mycloudproject.data_gov_template führt zu Übereinstimmung mit Datenassets, die mit der Vorlage data_gov_template im Projekt mycloudproject getaggt sind.
tag:key<operator>val Zuerst wird der key mit einem beliebigen Teilstring der Tag-Feld-ID, der Tag-Vorlagen-ID oder der Google Cloud-Projekt-ID einer Tag-Vorlage abgeglichen. Gleicht dann val mit dem Tag-Wert von key abhängig vom Tag-Feldtyp ab.
Die typabhängigen <operator>-Sets, die für Tag-Werte zulässig sind, sind:
  • string/richtext: ":"
    Hinweis: Der Doppelpunkt in dieser Stringsuche bezeichnet eine genaue Tokenübereinstimmung, keinen Teilstring.
  • boolean und boolean: "="
  • double: "=", "<", ">", "<=", ">="
  • Zeitstempel: ":", "=", "<", ">", "<=", ">="
Beispiele:
  • String: tag:data_owner:@mail.com führt zu Übereinstimmung mit Datenassets mit @mail.com -Werten.
  • boolean: tag:data_gov_template.hasPII=true führt zu Übereinstimmung mit booleschen hasPII-Tags in data_gov_template die true sind.
  • enum: tag:certification_level_1=HIGHEST.
  • double: tag:datascore=9 führt zu Übereinstimmung mit Datenassets mit datascore-double-Tags mit dem Wert 9.
  • Zeitstempel: tag:expiredDate:2019-01-01 führt zu Übereinstimmung mit Datenassets mit einem expiredDate-Tag mit dem Wert 2019-01-01.
  • Zeitstempel: tag:expiredDate<2019-02 führt zu Übereinstimmung mit Daten-Assets, die ein expiredDate -Tag haben, dessen Zeitstempel zeitlich vor 2019-02-01T00:00:00 liegt.
Timestamp
createtime Findet Datenassets, die an bzw. zu, vor oder nach einem bestimmten Datum oder einer bestimmten Uhrzeit erstellt wurden.
Beispiele:
  • createtime:2019-01-01 führt zu Übereinstimmung mit Datenassets, die am 2019-01-01 erstellt wurden.
  • createtime<2019-02 führt zu Übereinstimmung mit Datenassets, die vor dem 2019-02-01T00:00:00 erstellt wurden.
  • createtime>2019-02 führt zu Übereinstimmung mit Datenassets, die nach dem 2019-02-01T00:00:00 erstellt wurden.
Timestamp
updatetime Findet Datenassets, die an bzw. zu, vor oder nach einem bestimmten Datum oder einer bestimmten Uhrzeit aktualisiert wurden.
Beispiele:
  • updatetime:2019-01-01 führt zu Übereinstimmung mit Datenassets, die am 2019-01-01 aktualisiert wurden.
  • updatetime<2019-02 führt zu Übereinstimmung mit Datenassets, die vor dem 2019-02-01T00:00:00 aktualisiert wurden.
  • updatetime>2019-02 führt zu Übereinstimmung mit Datenassets, die nach dem 2019-02-01T00:00:00 aktualisiert wurden.
Timestamp
policytag:x Entspricht x als Teilstring des Anzeige-Tags des Anzeigenamens. Findet alle Assets mit einem passenden Richtlinien-Tag oder seinen untergeordneten Elementen.
policytagid=x Entspricht x als Richtlinien-Tag- oder Taxonomie-ID. Findet alle Assets mit einem passenden Richtlinien-Tag oder seinen untergeordneten Elementen.
term:x Gleicht Daten-Assets ab, die mit einem Begriff aus einem Unternehmensglossar verknüpft sind, wobei ein Teilstring des Namens, der Beschreibung oder des Data Steward mit x übereinstimmt.
fully_qualified_name:x Stimmt mit x als Teilstring von fully_qualified_name überein.
fully_qualified_name=x Stimmt mit x als fully_qualified_name überein.

Logische Operatoren

Eine Abfrage kann aus mehreren Prädikaten mit logischen Operatoren bestehen. Wenn Sie keinen Operator angeben, wird das logische AND impliziert. foo bar gibt beispielsweise Entitäten zurück, die sowohl mit dem Prädikat foo als auch mit dem Prädikat bar übereinstimmen.

Logisches AND und logisches OR werden unterstützt, z. B. foo OR bar.

Sie können ein Prädikat mit dem Präfix - oder NOT negieren. -name:foo gibt beispielsweise alle Entitäten mit Namen zurück, die nicht mit dem Prädikat foo übereinstimmen.

Abgekürzte Syntax

Es ist auch eine verkürzte Suchsyntax verfügbar, bei der | für OR-Operatoren und , für AND-Operatoren verwendet wird.

So können Sie beispielsweise mit dem Operator OR nach Einträgen in einem von vielen Projekten suchen:

projectid:(pid1|pid2|pid3|pid4)

Anstelle von:

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

So suchen Sie nach Einträgen mit übereinstimmenden Spaltennamen:

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

Diese abgekürzte Syntax funktioniert für die oben aufgeführten qualifizierten Prädikate mit Ausnahme von tag, term, policytag, policytagid und label.