Sintaxe de pesquisa do Data Catalog

Veja neste documento a sintaxe das consultas de pesquisa do Data Catalog. Antes de ler este documento, é importante que você entenda os conceitos do Data Catalog, como entrada de dados, tags e modelos de tag e outros tipos de metadados. Consulte O que é o Data Catalog?

Para iniciar uma consulta de pesquisa do Data Catalog na no console do Google Cloud, acesse a página Pesquisa do Data Catalog e selecione Data Catalog como o modo de pesquisa.

Acesse Pesquisar

Na forma mais simples, uma consulta de pesquisa no Data Catalog contém um único predicado. Esse predicado pode corresponder a várias partes de metadados:

  • Uma substring de um nome, nome de exibição ou descrição de um recurso de dados
  • Tipo exato de recurso de dados
  • Uma substring de um nome de coluna (ou nome de coluna aninhada) no esquema de um recurso de dados.
  • Uma substring de um ID do projeto
  • O valor de uma tag pública, o nome de um modelo de tag pública ou o nome de um campo em um modelo de tag pública anexado a uma entrada de dados.
  • (Prévia) Uma string de um endereço de e-mail ou nome de um administrador de dados
  • (Prévia) String de uma descrição geral.

A pesquisa simples não oferece suporte a campos de modelos de tag do tipo datetime.

Por exemplo, o predicado foo corresponde às seguintes entidades:

  • Recurso de dados com o nome foo.bar
  • Recurso de dados com o nome de exibição Foo Bar
  • Recurso de dados com a descrição This is the foo script.
  • Recurso de dados com o tipo foo exato
  • Coluna foo_bar no esquema de um recurso de dados
  • Coluna aninhada foo_bar no esquema de um recurso de dados
  • Projeto prod-foo-bar
  • O modelo de tag público foo, as entradas de dados marcadas com o modelo de tag foo, o nome de exibição foo, o nome do campo do modelo de tag foo e o valor do campo foo em uma string, tipo enumerado ou rich text.
  • (Prévia) Recurso de dados com um administrador de dados chamado foo.
  • (Pré-lançamento) Recurso de dados com uma visão geral que contém a palavra foo.

Para saber mais sobre as funções e permissões para visualizar tags públicas e privadas, consulte Funções para visualizar tags públicas e privadas.

Predicados qualificados

Você pode qualificar um predicado usando um prefixo com uma chave que restringe a correspondência a uma parte específica dos metadados.

Um sinal de igual (=) restringe a pesquisa a uma correspondência exata.

Dois pontos (:) após a chave corresponde ao predicado em um substring ou token dentro do valor nos resultados da pesquisa.

A tokenização divide o fluxo do texto em uma série de tokens, com cada token geralmente correspondente a uma única palavra.

Exemplo:

  • name:foo seleciona entidades com nomes que contêm a substring foo: foo1 e barfoo.
  • description:foo seleciona entidades com o token foo na descrição: bar and foo.
  • location=foo corresponde a todos os recursos de dados em um local especificado com foo como o nome do local.

O Data Catalog oferece suporte aos seguintes qualificadores:

Qualificador Descrição
name:x Corresponde a x como substring do ID do recurso de dados.
displayname:x Corresponda x como substring do nome de exibição do recurso de dados.
column:x Corresponde a x como uma substring do nome da coluna (ou nome da coluna aninhada) no esquema do recurso de dados.
É possível pesquisar uma coluna aninhada pelo caminho usando o operador lógico AND.
Por exemplo, column:(foo bar) corresponde a uma coluna aninhada com o caminho foo.bar.
description:x Corresponde x como um token na descrição do recurso de dados.
label:bar Corresponde a recursos de dados do BigQuery que têm um rótulo (com algum valor) e a chave de rótulo tem bar como substring.
label=bar Corresponde aos recursos de dados do BigQuery que têm um rótulo (com algum valor) e a chave de rótulo é igual a bar como uma string.
label:bar:x Corresponde a x como uma substring no valor de um rótulo com a chave bar anexada a um recurso de dados do BigQuery.
label=foo:bar Corresponde aos recursos de dados do BigQuery em que a chave é foo e a chave-valor é bar.
label.foo=bar Corresponde a recursos de dados do BigQuery em que a chave é foo e o valor da chave é bar.
label.foo Corresponde a recursos de dados do BigQuery que têm um rótulo com chave igual a foo como uma string.
type=<type> Corresponde a ativos de dados de um tipo ou subtipo de objeto específico. Os subtipos podem ser adicionados com o formato <type>.<sub-type>.
Os tipos e subtipos incluem:
  • type=table corresponde a todas as tabelas, visualizações e visualizações materializadas.
  • type=dataset corresponde a todos os conjuntos de dados.
  • type=table.view ou type=view corresponde a todas as visualizações, exceto às materializadas.
  • type=materialized_view corresponde a todas as visualizações materializadas.
  • type=lake corresponde a todos os data lakes.
  • type=zone corresponde a todas as zonas.
  • type=tag_template corresponde a todos os modelos de tag.
  • type=entry_group corresponde a todos os grupos de entrada.
  • type=data_stream corresponde a todos os tópicos Pub/Sub.
  • (Pré-lançamento) type=dataset.linked corresponde a todos os conjuntos de dados vinculados do Analytics Hub.
projectid:bar Corresponde recursos de dados dentro de projetos do Cloud que correspondem a bar como substring no ID.
parent:x Corresponde a x como uma substring do caminho hierárquico de um recurso de dados do BigQuery. O caminho tem o formato <project_id>.<dataset_name>.
Por exemplo, parent:foo.bar corresponde a todas as tabelas e visualizações de um conjunto de dados com o caminho project-foo.bar-dataset.
orgid=number Corresponde os recursos de dados em uma organização do Cloud ao valor exato do ID de number.
system=<system> Corresponde a todos os ativos de dados de um sistema especificado.
Os sistemas incluem:
  • system=bigquery corresponde a todos os recursos de dados do BigQuery.
  • system=cloud_bigtable corresponde a todos os recursos de dados do Bigtable.
  • system=cloud_pubsub corresponde a todos os recursos de dados do Pub/Sub.
  • system=cloud_spanner corresponde a todos os recursos de dados do Spanner.
  • system=dataproc_metastore corresponde a todos os recursos de dados do metastore do Dataproc.
  • system=data_catalog corresponde a todos os recursos de dados criados no Data Catalog.
  • system=dataplex corresponde a todos os recursos de dados criados no Dataplex.
location=<location> Corresponde todos os recursos de dados em um local especificado com um nome exato. Por exemplo, location=us-central1 corresponde a todos os recursos hospedados em Iowa.
Para ver uma lista completa de locais compatíveis, consulte Regiões do Data Catalog.
cluster_location=<location> Corresponde a todos os recursos de dados do Bigtable em um local especificado com um nome exato.
Por exemplo, cluster_location=us-central1 corresponde a todos os recursos hospedados em Iowa.
Para acessar uma lista completa de locais compatíveis, consulte Regiões do Bigtable.
tag:x Corresponde a recursos de dados em que x corresponde a qualquer subsequência em <tag_template_project_id>.<tag_template_id>.<tag_field_id> de uma tag privada ou pública.
Exemplos:
  • tag:data_owner corresponde recursos de dados que possuem a tag data_owner.
  • tag:data_gov_template corresponde recursos de dados que foram marcados com o modelo de tag data_gov_template.
  • tag:mycloudproject.data_gov_template corresponde a recursos de dados marcados com o modelo data_gov_template no projeto mycloudproject.
tag:key<operator>val Primeiro, corresponde ao key com qualquer substring do ID do campo de tag, do ID do modelo de tag ou do ID do projeto do Google Cloud de um modelo de tag. Em seguida, corresponde val ao valor da tag de key, dependendo do tipo de campo de tag.
Os conjuntos <operator> dependentes de tipo permitidos para valores de tag são:
  • string/richtext: ":"
    Observação: os dois pontos dessa pesquisa de string indicam uma correspondência exata do token, não uma substring.
  • booleano e enum: "="
  • double: "=", "<", ">", "<=", ">="
  • timestamp: ":", "=", "<", ">", "<=", ">="
Examplos:
  • string: tag:data_owner:@mail.com corresponde a recursos de dados que têm valores @mail.com.
  • booleano: tag:data_gov_template.hasPII=true corresponde a hasPII tags booleanas no data_gov_template que são true.
  • enum: tag:certification_level_1=HIGHEST.
  • duplo: tag:datascore=9 corresponde aos recursos de dados com datascore tags duplas que têm valor 9.
  • timestamp: tag:expiredDate:2019-01-01 corresponde a recursos de dados que têm expiredDate tag de 2019-01-01.
  • timestamp: tag:expiredDate<2019-02 corresponde a recursos de dados que têm expiredDate antes de 2019-02-01T00:00:00.
createtime Encontra recursos de dados que foram criados em, antes ou depois de uma determinada data ou hora.
Exemplos:
  • createtime:2019-01-01 corresponde a recursos de dados criados em 2019-01-01.
  • createtime<2019-02 corresponde a recursos de dados criados antes de 2019-02-01T00:00:00.
  • createtime>2019-02 corresponde a recursos de dados criados após 2019-02-01T00:00:00.
updatetime Encontra recursos de dados que foram atualizados em, antes ou depois de uma determinada data ou hora.
Exemplos:
  • updatetime:2019-01-01 corresponde aos recursos de dados atualizados em 2019-01-01.
  • updatetime<2019-02 corresponde aos recursos de dados atualizados antes de 2019-02-01T00:00:00.
  • updatetime>2019-02 corresponde aos recursos de dados atualizados após 2019-02-01T00:00:00.
policytag:x Corresponde a x como uma substring do nome de exibição da tag de política. Encontra todos os recursos usando a tag da política de correspondência ou os descendentes.
policytagid=x Corresponde a x como um ID de tag de política ou taxonomia. Encontra todos os recursos usando a tag da política de correspondência ou os descendentes.
term:x Corresponde recursos de dados a um termo do glossário de negócios em que uma substring de nome, descrição ou administrador de dados corresponde a x.
fully_qualified_name:x Corresponde a x como uma substring de fully_qualified_name.
fully_qualified_name=x Corresponde a x como fully_qualified_name.

Operadores lógicos

Uma consulta pode ser composta por vários predicados com operadores lógicos. Se você não especificar um operador, a lógica AND está implícito. Por exemplo, foo bar retorna entidades que correspondem a ambos predicado foo e predicado bar.

Lógico "E" e lógico "OU" são suportados, por exemplo, foo OR bar.

É possível negar um predicado com um prefixo - ou NOT. Por exemplo, -name:foo retorna todas as entidades com nomes que não correspondem ao predicado foo.

Sintaxe abreviada

Uma sintaxe de pesquisa abreviada também está disponível, usando | para operadores OR e , para operadores AND.

Por exemplo, para procurar entradas dentro de um dos vários projetos usando o operador OR, você pode usar:

projectid:(pid1|pid2|pid3|pid4)

Em vez de:

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

Para pesquisar entradas com nomes de coluna correspondentes:

  • E: column:(name1, name2, name3)
  • OU: column:(name1|name2|name3)

Esta sintaxe abreviada funciona para os URLs qualificados, predicados listados anteriormente, exceto tag, term, policytag, policytagid e label.