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 tags e outros tipos de metadados. Consulte O que é o Data Catalog?

Para iniciar uma consulta de pesquisa do Data Catalog no console do Google Cloud, acesse a página Pesquisa do Dataplex.

Acessar a Pesquisa do Dataplex

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

  • 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úblico ou um nome de campo em um modelo de tag público anexado a uma entrada de dados.
  • (Prévia) String para um endereço de e-mail ou nome de um administrador de dados
  • (Visualização) String de uma descrição geral

A pesquisa simples não é compatível com campos de modelo 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
  • Modelo de tag público chamado foo, entradas de dados marcadas com o modelo de tag foo, nome de exibição do modelo de tag foo, nome do campo do modelo de tag de foo e valor do campo de tag de foo em uma string, tipo enumerado ou rich text.
  • (Prévia) Recurso de dados com um administrador de dados chamado foo.
  • (Prévia) Recurso de dados com uma visão geral contendo a palavra foo.

Para saber mais sobre os papéis e as permissões para visualizar tags públicas e particulares, consulte Papéis para visualizar tags públicas e particulares.

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 (:) depois da chave corresponde ao predicado com uma substring ou um token dentro do valor nos resultados da pesquisa.

A tokenização divide o fluxo de texto em uma série de tokens, com cada um geralmente correspondendo 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.
Você pode pesquisar uma coluna aninhada pelo caminho usando o operador lógico AND.
Por exemplo, column:(foo bar) faz a correspondência de 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 do 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 é igual a foo e o valor da chave é bar.
label.foo=bar Corresponde aos recursos de dados do BigQuery em que a chave é igual a 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.
  • type=dataset corresponde a todos os conjuntos de dados.
  • type=table.view ou type=view corresponde a todas as visualizações.
  • type=lake corresponde a todos os 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.
  • (Visualização) 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 aceitos, consulte as regiões do Bigtable.
tag:x Corresponde a recursos de dados em que x corresponde a qualquer substring em <tag_template_project_id>.<tag_template_id>.<tag_field_id> de uma tag particular 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 key a 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 nessa pesquisa por string indicam uma correspondência exata de token, não uma substring.
  • boolean e boolean: "="
  • double: "=", "<", ">", "<=", ">="
  • timestamp: ":", "=", "<", ">", "<=", ">="
Examplos:
  • string: tag:data_owner:@mail.com corresponde a recursos de dados que têm valores @mail.com.
  • boolean: 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 a recursos de dados conectados a um termo do glossário de empresas 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, o AND lógico ficará implícito. Por exemplo, foo bar retorna entidades que correspondem ao predicado foo e 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 pesquisar entradas dentro de um de 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)

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