Sintaxe de pesquisa do Data Catalog

Veja neste documento a sintaxe das consultas de pesquisa do Data Catalog.

Predicados simples

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

  • A substring de um nome, o nome de exibição e a 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

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

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.

Exemplo:

  • name=foo seleciona entidades com o nome exato da foo.
  • 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.

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 do nome da coluna aninhada) no esquema do recurso de dados.
No momento, é possível pesquisar uma coluna aninhada pelo caminho usando o operador lógico ".
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.
labels: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:x Corresponde x como um token no valor de um rótulo bar anexado a um recurso de dados do BigQuery.
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 do BigQuery.
  • type=table.view ou type=view corresponde a todas as visualizações.
  • 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.
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_pubsub corresponde a todos os recursos de dados do Pub/Sub.
  • 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.
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>.
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 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: ":"
    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.

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 ao 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)

Essa sintaxe abreviada funciona para todos os predicados qualificados listados acima.