Com o Knowledge Catalog, é possível descobrir, catalogar de forma centralizada, gerenciar e entender os dados da sua organização. Para encontrar recursos de dados específicos no catálogo de dados com eficiência, use consultas de pesquisa avançadas. A sintaxe das consultas de pesquisa inclui:
- Pesquisa simples: encontrar recursos de dados usando um único termo de pesquisa.
- Pesquisa de texto livre: encontrar recursos de dados usando frases ou palavras-chave em linguagem natural.
- Predicados qualificados: refinam sua pesquisa usando campos de metadados específicos, como nome, local, sistema ou tipo.
- Pesquisa de aspectos: pesquisa de entradas com base nos metadados comerciais e técnicos anexados.
- Operadores lógicos: combinam vários critérios de pesquisa usando os operadores
AND,ORouNOTpara criar consultas complexas. Ao entender essa sintaxe, você pode localizar rapidamente os dados necessários.
Predicados qualificados
Use um predicado qualificado para restringir os resultados da pesquisa, instruindo explicitamente a pesquisa a avaliar um campo de metadados específico, como nome, tipo ou sistema de um recurso.
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 (
=) para restringir a pesquisa a uma correspondência exata. - Dois pontos (
:) após a chave para corresponder o predicado a um 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, cada um geralmente correspondente a uma palavra.
Exemplo:
name:fooseleciona recursos com nomes que contêm a substringfoo, comofoo1ebarfoo.description:fooseleciona recursos com o tokenfoona descrição, comobarefoo.location=foocorresponde a recursos em um local especificado comfoocomo nome do local.
Qualificadores compatíveis
A pesquisa do Knowledge Catalog é compatível com os seguintes qualificadores:
| Qualificador | Descrição |
|---|---|
name:x |
Corresponde a x como uma substring do ID ou do nome de exibição do recurso. |
displayname:x |
Corresponde x como substring do nome de exibição do recurso. |
column:x |
Corresponde x como uma substring do nome da coluna (ou nome da coluna aninhada) no esquema do recurso. |
description:x |
Corresponde x como um token na descrição do recurso. Por exemplo:
|
labels:bar |
Corresponde a recursos que têm um rótulo (com algum valor) e a chave do rótulo tem bar como substring. |
labels=bar |
Corresponde a recursos que têm um rótulo (com algum valor) e a chave do rótulo é igual a bar como uma string. |
labels.bar:x |
Corresponde x como uma substring no valor de um rótulo com a chave bar anexada a um recurso. |
labels.foo=bar |
Corresponde a recursos em que a chave é igual a
foo e o valor da chave é igual a bar. |
type=TYPE |
Corresponde a recursos de um tipo de entrada específico ou ao alias do tipo. Requer o qualificador =. |
projectid:bar |
Corresponde a recursos em projetos Google Cloud que correspondem abarcomo uma substring no ID. |
parent:x |
Corresponde a x como uma substring do caminho hierárquico de um recurso. |
system=SYSTEM |
Corresponde a recursos de um sistema especificado. Requer o qualificador =. |
location=LOCATION |
Corresponde recursos em um local especificado com um nome exato. Requer o qualificador Os recursos do BigQuery Omni oferecem suporte a esse qualificador usando o nome do local do BigQuery Omni.
Por exemplo, |
createtime |
Encontra recursos criados em, antes ou depois de uma determinada data, carimbo de data/hora ou período relativo em dias. Para conferir os formatos e operadores aceitos, consulte Filtros de tempo. |
updatetime |
Encontra recursos que foram atualizados em, antes ou depois de uma determinada data, carimbo de data/hora ou período relativo em dias. Para conferir os formatos e operadores aceitos, consulte Filtros de tempo. |
Qualificadores de correspondência exata
As chaves de predicado type, system, location e a pesquisa de aspectos (exceto has) aceitam apenas o qualificador de correspondência exata (=), não o de substring (:).
Use a seguinte sintaxe de correspondência exata para esses predicados:
| Chave de predicado | Sintaxe correta | Sintaxe incorreta |
|---|---|---|
type |
type=table (ou type=view, type=dataset) |
type:table ou type:tab |
system |
system=bigquery (ou system=spanner) |
system:bigquery ou system:big |
location |
location=us-central1 (ou location=europe-west1) |
location:us-central1 ou location:us |
Qualificadores de substring
Predicados como name, displayname, column, projectid e parent
são compatíveis com a correspondência de substrings com o qualificador de dois pontos (:):
name:transactionscorresponde a recursos cujo ID ou nome de exibição contémtransactions. Por exemplo,daily_transactions_rawetransactions_v2.column:customer_idcorresponde a recursos com um nome de coluna que contémcustomer_id.projectid:prodcorresponde a recursos em projetos cujo ID contémprod. Por exemplo,finance-prod-2026.
Filtros de tempo
É possível filtrar recursos por tempo de criação (createtime) ou tempo da última atualização (updatetime).
Operadores e formatos compatíveis
- Operadores compatíveis:
:,=,<,>,<=,>=,=>,=< - Dias relativos (
-Nd): filtre por um número relativo de dias no passado (por exemplo,-30d,-7d,-1d). - Datas do calendário (
YYYY-MM-DDouYYYY/MM/DD): filtre por uma data específica em GMT/UTC. - Carimbos de data/hora completos (
YYYY-MM-DDTHH:MM:SSouYYYY-MM-DDTHH:MM:SSZ): filtre por um carimbo de data/hora preciso em GMT/UTC. Timestamps parciais, comoYYYY-MM-DDTHH:MMouYYYY-MM-DDTHH, também são aceitos.
Sintaxe do filtro de tempo
A tabela a seguir explica a sintaxe do filtro de período:
| Categoria de formato | Sintaxe válida | Sintaxe inválida | Descrição |
|---|---|---|---|
| Unidades de tempo relativas |
|
|
|
| Datas da agenda |
|
|
|
| Carimbos de data/hora e fusos horários |
|
|
|
| Intervalos de hora do dia |
|
|
|
| Datas em linguagem natural |
|
|
|
Filtros de rótulo
Use o predicado labels para filtrar recursos por rótulos anexados. É possível filtrar por chave de rótulo, valor de rótulo ou ambos:
| Padrão de consulta | Exemplo | Descrição |
|---|---|---|
labels=KEY |
labels=environment |
Corresponde a recursos que têm um rótulo com a chave exata environment, independente do valor. |
labels:KEY_SUBSTRING |
labels:tier |
Corresponde a recursos com uma chave de rótulo que contém tier como substring (como service_tier ou storage_tier). |
labels.KEY=VALUE |
labels.env=prod |
Corresponde a recursos em que a chave do rótulo é env e o valor é exatamente prod. |
labels.KEY:VALUE_SUBSTRING |
labels.owner:analytics |
Corresponde a recursos com a chave do rótulo owner em que o valor contém analytics como uma substring (como analytics-team ou data-analytics). |
| Vários rótulos (E) | labels.env=prod labels.data_tier=tier1 |
Corresponde a recursos que têm os rótulos env=prod e data_tier=tier1 anexados. |
| Combinado com sistema e tipo | system=bigquery type=table labels.env=prod labels.confidentiality=high |
Corresponde às tabelas do BigQuery rotuladas com env=prod e confidentiality=high. |
Pesquisa de aspectos
É possível usar a sintaxe de consulta para pesquisar entradas com base nos aspectos anexados.
A correspondência de substring tenta corresponder a um número limitado de aspectos. Se não for possível encontrar a entrada usando um fragmento do caminho, use o caminho completo para restringir a pesquisa e aumentar a recall.
| Qualificador | Descrição |
|---|---|
aspect:xou has:x |
Corresponde a x como uma substring do caminho completo para o tipo de aspecto de um aspecto anexado à entrada, no formato projectid.location.ASPECT_TYPE_ID |
aspect=xou has=x |
Corresponde a x como o caminho completo para o tipo de aspecto de um aspecto anexado à entrada, no formato projectid.location.ASPECT_TYPE_ID. |
x |
Pesquisa valores de campo de aspecto. Corresponde a
Somente campos de nível superior do aspecto podem ser pesquisados. |
Operadores lógicos
Uma consulta pode combinar vários predicados usando operadores lógicos.
Observação: os operadores lógicos AND, OR e NOT diferenciam maiúsculas de minúsculas e precisam estar em letras maiúsculas.
Operador AND
Se você separar vários termos de pesquisa ou predicados com um espaço, o AND lógico será implícito, o que significa que não é necessário escrevê-lo explicitamente.
Os exemplos a seguir mostram como criar consultas com o operador AND.
Pesquisar tabelas do BigQuery
system=bigquery type=tablePesquisar recursos no projeto
banking-prodcom uma coluna chamadacustomer_idprojectid:banking-prod column:customer_idSe necessário, use o operador
ANDexplícito:system=bigquery AND type=table AND location=us-central1
Operador OR
Use o operador OR para corresponder a qualquer uma das várias condições. Ao combinar OR com outros critérios, use parênteses ( ) para agrupar as expressões e definir a precedência.
Os exemplos a seguir mostram como criar consultas com o operador OR.
Pesquisar tabelas e visualizações do BigQuery
system=bigquery (type=table OR type=view)Pesquisar tabelas em vários sistemas
(system=bigquery OR system=spanner) type=tablePesquisar entradas em conjuntos de dados de marketing ou finanças
system=bigquery (parent:marketing_analytics OR parent:finance_analytics)
Operador NOT
É possível negar um predicado usando um prefixo com NOT em maiúsculas ou um - (hífen).
Os exemplos a seguir mostram como criar consultas com o operador NOT.
Encontrar todas as tabelas, exceto as de um projeto sandbox
- Usar o operador
NOT
type=table NOT projectid:sandbox-project- Usar hífen
type=table -projectid:sandbox-project- Usar o operador
Encontre todos os recursos do BigQuery que não contêm
testno nomesystem=bigquery -name:test
Sintaxe abreviada
Se quiser usar a sintaxe abreviada, use | (barra vertical) para operadores OR e , (vírgula) para operadores AND entre parênteses.
Essa sintaxe abreviada funciona para os predicados qualificados.
Pesquisar em vários IDs de projeto
- Use o operador
OR:
projectid:(finance-prod|sales-prod|analytics-prod)- Use parênteses:
projectid:finance-prod OR projectid:sales-prod OR projectid:analytics-prod- Use o operador
Pesquisar entradas que correspondem a vários nomes de colunas (
AND)column:(customer_id,transaction_date,amount)Pesquisar entradas que correspondam a qualquer um dos vários nomes de colunas (
OR)column:(customer_id|user_id|client_id)
Política de curinga
A sintaxe de pesquisa do Knowledge Catalog não é compatível com caracteres curinga, como * ou ?, em strings de consulta ou predicados.
Se você incluir um asterisco (*) ou ponto de interrogação (?) em uma consulta, eles serão tratados como caracteres literais, e não como curingas de correspondência de padrões.
Por exemplo, para pesquisar tabelas com nomes que terminam em _masked:
- Compatível:
name:_masked: usa o qualificador de correspondência de substring:para encontrar todos os recursos cujo nome contenha_masked, comocustomer_records_maskedoutransactions_masked. - Não compatível:
name:*_masked: o*é tratado como um caractere literal, não como um curinga de padrão.
Parênteses
Os parênteses em consultas de pesquisa têm funções técnicas específicas. Se você usar parênteses em excesso ou aplicá-los a consultas em linguagem natural, poderá confundir o analisador de pesquisa e reduzir a qualidade dos resultados.
Linguagem natural simples
Ao fazer uma pergunta sobre negócios, transmita a consulta em texto simples. Não coloque entre parênteses. Por exemplo, escreva:
Find customer orders containing email addresses
Sintaxe abreviada de predicado
Os parênteses são muito eficazes quando usados com chaves de predicado para listar várias condições OR e AND em um formato compacto.
Agrupar chaves de predicado com
OR(|)Pesquise entradas em qualquer um dos projetos listados usando (
|)projectid:(finance-prod|finance-test|analytics-raw)Pesquise entradas em qualquer um dos projetos listados usando (
OR)
projectid:finance-prod OR projectid:finance-test OR projectid:finance-rawAgrupar chaves de predicado com
AND(,)- Pesquise entradas que contenham todas as colunas especificadas usando (
,)
column:(customer_id, order_date, total_amount)- Pesquise entradas que contenham todas as colunas especificadas usando (
AND)
column:customer_id AND column:order_date AND column:total_amount- Pesquise entradas que contenham todas as colunas especificadas usando (
Pesquisa híbrida
É possível combinar uma consulta em linguagem natural com filtros compactos.
Por exemplo, para encontrar tabelas que especificam usuários ativos por mês, mas restringir a pesquisa aos projetos especificados, use a seguinte consulta:
monthly active users type=table projectid:(data-warehouse|analytical-tier)
Práticas recomendadas para usar parênteses
Não coloque a pergunta inteira entre parênteses, porque o mecanismo semântico pode tratar os parênteses como caracteres literais, o que leva a resultados de baixa relevância.
- Incorreto:
(Show me datasets about US population by state) - Correto:
Show me datasets about US population by state
- Incorreto:
Evite misturar árvores booleanas complexas e aninhadas com parênteses no campo de linguagem natural. A pesquisa é otimizada para a intenção de linguagem natural. Complicar demais a consulta com parênteses e blocos de lógica explícitos confunde o analisador.
- Incorreto:
(revenue data) AND system=BIGQUERY AND projectid:(data-warehouse | analytical-tier) - Correto:
revenue data system=bigquery projectid:(data-warehouse|analytical-tier)
- Incorreto:
Não adicione espaços arbitrariamente, a menos que eles façam parte do valor.
- Incorreto:
column:( email | id ) - Correto:
column:(email|id).
- Incorreto:
A seguir
- Saiba como pesquisar recursos no Knowledge Catalog
- Saiba mais sobre o gerenciamento de metadados no Knowledge Catalog.
- Saiba como enriquecer entradas e links de entrada com metadados usando aspectos.
- Saiba como gerenciar entradas e ingerir fontes personalizadas.