A qualidade de dados automática do catálogo universal do Dataplex permite-lhe definir e medir a qualidade dos dados nas suas tabelas do BigQuery. Pode automatizar a análise de dados, validar dados com base em regras definidas e registar alertas se os seus dados não cumprirem os requisitos de qualidade. Pode gerir regras de qualidade de dados e implementações como código, melhorando a integridade dos pipelines de produção de dados.
Pode começar a usar recomendações de regras baseadas nos resultados de uma análise do perfil de dados do catálogo universal do Dataplex ou criar regras personalizadas.
O Dataplex Universal Catalog oferece monitorização, resolução de problemas e alertas do Cloud Logging integrados com a qualidade dos dados automática do Dataplex Universal Catalog.
Modelo conceptual
Uma análise de dados é uma tarefa do catálogo universal do Dataplex que recolhe amostras de dados do
BigQuery e do Cloud Storage e infere vários tipos de
metadados. Para medir a qualidade de uma tabela através da qualidade de dados automática, cria um objeto DataScan
do tipo data quality
. A análise é executada apenas numa tabela do BigQuery. A análise usa recursos num projeto de inquilino da Google, pelo que não
precisa de configurar a sua própria infraestrutura.
A criação e a utilização de uma análise da qualidade dos dados consistem nos seguintes passos:
- Defina regras de qualidade de dados
- Configure a execução de regras
- Analise os resultados da análise da qualidade de dados
- Configure a monitorização e os alertas
- Resolva problemas de falhas na qualidade de dados
Definição de regra
As regras de qualidade de dados associadas a uma análise de qualidade de dados definem as expetativas de dados. Pode criar regras de qualidade de dados das seguintes formas:
- Use recomendações da análise de perfis de dados do Dataplex Universal Catalog
- Use as regras predefinidas
- Crie regras SQL personalizadas
Regras predefinidas
O Dataplex Universal Catalog suporta as seguintes categorias de regras predefinidas:
- Ao nível da linha
Para regras de categorias ao nível da linha, a expetativa é aplicada a cada linha de dados. Cada linha passa ou falha na condição de forma independente. Por exemplo,
column_A_value < 1
.As verificações ao nível da linha requerem que especifique um limite de aprovação. Quando a percentagem de linhas que passam na regra fica abaixo do valor limite, a regra falha.
- Agregar
Para regras de agregação, a expetativa é aplicada a um único valor agregado em todos os dados. Por exemplo,
Avg(someCol) >= 10
. Para ser aprovada, a verificação tem de ser avaliada como o valor booleanotrue
. As regras agregadas não fornecem uma contagem de aprovações ou reprovações independente para cada linha.
Para ambas as categorias de regras, pode definir os seguintes parâmetros:
- A coluna à qual a regra se aplica
- Uma dimensão
A tabela seguinte lista os tipos de regras agregadas e ao nível da linha suportados:
Tipo de regra (nome na Google Cloud consola) |
Regra ao nível da linha ou agregada | Descrição | Tipos de colunas suportados | Parâmetros específicos da regra |
---|---|---|---|---|
RangeExpectation (Verificação de intervalo) |
Ao nível da linha | Verifique se o valor está entre o mínimo e o máximo. | Todas as colunas do tipo numérico, de data e de data/hora. | Obrigatório:
|
NonNullExpectation (Verificação de nulo) |
Ao nível da linha | Valide se os valores das colunas não são NULL. | Todos os tipos de colunas suportados. | Obrigatório:
|
SetExpectation (Definir verificação) |
Ao nível da linha | Verificar se os valores numa coluna são um dos valores especificados num conjunto. | Todos os tipos de colunas suportados, exceto Record e Struct . |
Obrigatório:
|
RegexExpectation (Verificação de expressão regular) |
Ao nível da linha | Verifica os valores com uma expressão regular especificada. | String | Obrigatório:
|
Uniqueness (Verificação de unicidade) |
Agregar | Verifique se todos os valores numa coluna são únicos. | Todos os tipos de colunas suportados, exceto Record e Struct . |
Obrigatório:
|
StatisticRangeExpectation (Verificação de estatísticas) |
Agregar | Verifica se a medida estatística fornecida corresponde à expectativa do intervalo. | Todos os tipos de colunas numéricas suportados. | Obrigatório:
|
Tipos de regras de SQL personalizado suportados
As regras SQL oferecem flexibilidade para expandir a validação com lógica personalizada. Estas regras são dos seguintes tipos.
Tipo de regra | Regra ao nível da linha ou agregada | Descrição | Tipos de colunas suportados | Parâmetros específicos da regra | Exemplo |
---|---|---|---|---|---|
Condição da linha | Ao nível da linha | Especifique uma expetativa para cada linha definindo uma expressão SQL
numa cláusula A expressão pode incluir uma referência a outra tabela, por exemplo, para criar verificações de integridade referencial. |
Todas as colunas | Obrigatório:
|
grossWeight <= netWeight |
Condição da tabela (expressão SQL agregada) |
Agregar | Estas regras são executadas uma vez por tabela. Forneça uma expressão SQL que seja avaliada como booleana A expressão SQL pode incluir uma referência a outra tabela através de subconsultas de expressões. |
Todas as colunas | Obrigatório:
|
Exemplo de agregação simples: Usar uma subconsulta de expressão para comparar valores numa tabela diferente: |
Afirmação SQL | Agregar | Uma regra de validação usa uma consulta de qualidade de dados para encontrar linhas que não cumprem uma ou mais condições especificadas na consulta. Forneça uma declaração SQL que seja avaliada para devolver linhas que correspondam ao estado inválido. Se a consulta devolver linhas, a regra falha. Omita o ponto e vírgula final da declaração SQL. A declaração SQL pode incluir uma referência a outra tabela através de subconsultas de expressões. |
Todas as colunas | Obrigatório:
|
Exemplo de agregação simples para garantir que Usar uma subconsulta de expressão para comparar valores numa tabela diferente: |
Para ver exemplos de regras, consulte as regras de exemplo de qualidade dos dados automáticos.
Para ver as funções SQL suportadas, consulte a referência do GoogleSQL.
Dimensões
As dimensões permitem-lhe agregar os resultados de várias regras de qualidade dos dados para monitorização e alertas. Tem de associar cada regra de qualidade de dados a uma dimensão. O Dataplex Universal Catalog fornece as seguintes dimensões:
- Atualidade
- A atualidade mede quando os dados foram atualizados pela última vez. Ter estas informações pode ajudar a determinar se os dados são suficientemente recentes para serem úteis.
- Volume
- O volume mede se todos os dados esperados estão presentes.
- Integridade
- A integridade avalia se os dados contêm todas as informações necessárias para a sua finalidade.
- Validade
- A validade avalia se os dados estão em conformidade com as normas predefinidas para o
formato, os intervalos aceitáveis ou outros critérios. Por exemplo, se uma data válida tiver de ter o formato
YYYY/mm/dd
, 08-12-2019 são dados inválidos. Por exemplo, se um preço de venda válido para um artigo estiver entre 10 € e 20 €, um preço de venda de 100 € são dados inválidos. - Consistência
- A consistência refere-se a ter os mesmos valores para os dados em várias instâncias, como tabelas e colunas. A inconsistência nos dados surge quando, por exemplo, a receita de um produto difere quando é lida a partir de uma base de dados de vendas ou de uma base de dados de utilização.
- Precisão
- A precisão reflete a correção dos dados. Tenha em atenção que os dados válidos não são necessariamente precisos. Por exemplo, uma cor de cabelo válida pode ser castanho, mas se uma pessoa não tiver cabelo castanho, trata-se de dados incorretos.
- Originalidade
- A unicidade mede se os dados são distintos sem duplicados.
Introdução de texto nas regras
Todos os parâmetros value são transmitidos como valores de string para a API. O catálogo universal do Dataplex requer que as entradas sigam o formato especificado do BigQuery.
Os parâmetros do tipo binário podem ser transmitidos como uma string codificada em base64.
Tipo | Formatos suportados | Exemplos |
---|---|---|
Binário | Valor codificado em Base64 | YXBwbGU= |
Indicação de tempo | AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]] [time_zone] OU AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][time_zone_offset] |
2014-09-27 12:30:00.45-08 |
Data | AAAA-M[M]-D[D] | 2014-09-27 |
Hora | [H]H:[M]M:[S]S[.DDDDDD] | 12:30:00.45 |
DateTime | AAAA-[M]M-[D]D [[H]H:[M]M:[S]S[.DDDDDD]] | 2014-09-27 12:30:00.45 |
Parâmetro de referência de dados
Quando cria uma regra SQL personalizada, pode consultar uma tabela de origem de dados e todos os respetivos filtros de pré-condição através do parâmetro de referência de dados ${data()}
na regra, em vez de mencionar explicitamente a tabela de origem e os respetivos filtros.
O Dataplex Universal Catalog interpreta o parâmetro como uma referência à tabela de origem e aos respetivos filtros. Alguns exemplos de filtros de pré-condição incluem filtros de linhas, percentagens de amostragem e filtros incrementais.
Por exemplo, suponhamos que tem uma tabela de origem de dados denominada
my_project_id.dim_dataset.dim_currency
. Quer executar uma análise de qualidade de dados incremental que analise apenas os novos dados diários. É aplicado um filtro de linhas que filtra as entradas de hoje, transaction_timestamp >= current_date()
, na tabela.
Uma regra SQL personalizada para encontrar linhas com discount_pct
para hoje tem o seguinte aspeto:
discount_pct IN (SELECT discount_pct FROM my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date())
Se usar o parâmetro de referência de dados, pode simplificar a regra. Substitua a menção da tabela e dos respetivos filtros de pré-condição pelo parâmetro ${data()}
:
discount_pct IN (SELECT discount_pct FROM ${data()})
O Dataplex Universal Catalog interpreta o parâmetro ${data()}
como uma referência à tabela de origem de dados com as entradas de hoje, my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date()
.
Neste exemplo, o parâmetro de referência de dados refere-se apenas aos dados
incrementais.
O parâmetro ${data()}
é sensível a maiúsculas e minúsculas.
Quando usa um alias numa subconsulta para fazer referência a colunas na tabela de origem,
use o parâmetro de referência de dados para fazer referência à tabela de origem ou omita
a referência de tabela. Não faça referência às colunas na tabela de origem usando uma referência direta à tabela na cláusula WHERE
.
Recomendado:
Use o parâmetro de referência de dados para fazer referência à tabela de origem:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = ${data()}.timestamp )
Omita a referência de tabela:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = timestamp )
Não recomendado:
Não use uma referência direta de tabela para fazer referência a colunas na tabela de origem:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = `my_project_id.dim_dataset.dim_currency`.timestamp )
Execução de regras
Pode agendar análises de qualidade de dados para serem executadas a um intervalo específico ou pode executar uma análise a pedido.
Quando executa uma análise de qualidade de dados, o Dataplex Universal Catalog cria uma tarefa. Como parte da especificação de uma análise de qualidade de dados, pode especificar o âmbito de uma tarefa como um dos seguintes:
- Tabela completa
- Cada tarefa valida a tabela completa.
- Incremental
- Cada tarefa valida os dados incrementais. Para determinar os incrementos, indique uma coluna
Date
/Timestamp
na tabela que possa ser usada como marcador. Normalmente, esta é a coluna na qual a tabela está particionada.
Filtre dados
Pode filtrar os dados a serem analisados quanto à qualidade dos dados através de um filtro de linhas. A criação de um filtro de linhas permite-lhe focar-se nos dados num período específico ou num segmento específico, como uma determinada região. A utilização de filtros pode reduzir o tempo de execução e o custo. Por exemplo, pode filtrar dados com uma data/hora anterior a uma determinada data.
Dados de exemplo
Pode especificar uma percentagem de registos dos seus dados para amostragem para executar uma análise de qualidade de dados. A criação de análises de qualidade dos dados numa amostra de dados mais pequena pode reduzir o tempo de execução e o custo em relação à consulta do conjunto de dados completo.
Resultados da análise de qualidade de dados
Os resultados das análises de qualidade dos dados estão disponíveis no catálogo universal do Dataplex e no BigQuery. Também pode rever e analisar os resultados da análise através dos seguintes métodos:
Exporte resultados para o BigQuery
Pode exportar os resultados da análise para uma tabela do BigQuery para análise adicional. Para personalizar os relatórios, pode associar os dados da tabela do BigQuery a um painel de controlo do Looker. Pode criar um relatório agregado usando a mesma tabela de resultados em várias análises.
Publique os resultados como metadados do Dataplex Universal Catalog
Pode publicar os resultados da análise da qualidade de dados como metadados do Dataplex Universal Catalog. Os resultados mais recentes são guardados na entrada do catálogo universal do Dataplex que representa a tabela de origem, no tipo de aspeto do sistema
data-quality-scorecard
. Pode ver os resultados nas páginas do BigQuery e do catálogo universal do Dataplex da tabela de origem na Google Cloud consola, no separador Qualidade dos dados. Também pode obter os resultados através da API.Para mais informações sobre os metadados do Dataplex Universal Catalog, consulte o artigo Acerca da gestão de metadados no Dataplex Universal Catalog.
Reveja as classificações da qualidade de dados
Cada resultado da análise fornece pontuações de qualidade dos dados que indicam a percentagem de regras aprovadas. As pontuações são comunicadas ao nível geral da tarefa, ao nível da coluna (se a regra for avaliada em relação a uma coluna) e ao nível da dimensão. Use as classificações de qualidade de dados para normalizar a qualidade de dados em tabelas ou colunas, monitorizar tendências e identificar dados que não cumprem os requisitos de qualidade.
Para mais informações, consulte o artigo Veja os resultados da análise da qualidade dos dados.
Monitorização e alertas
Pode monitorizar e receber alertas sobre as análises de qualidade de dados através dos seguintes métodos:
Defina alertas no Cloud Logging
Pode monitorizar as tarefas de qualidade de dados através dos registos
data_scan
edata_quality_scan_rule_result
no Logs Explorer.Para cada tarefa de qualidade de dados, o registo
data_scan
com o campodata_scan_type
definido comoDATA_QUALITY
contém as seguintes informações:- Origem de dados usada para a análise de dados.
- Detalhes de execução da tarefa, como a hora de criação, a hora de início, a hora de fim e o estado da tarefa.
- Resultado da tarefa de qualidade de dados: aprovado ou reprovado.
- Aprovação ou reprovação ao nível da dimensão.
Todas as tarefas bem-sucedidas contêm um registo
data_quality_scan_rule_result
com as seguintes informações detalhadas sobre cada regra nessa tarefa:- Informações de configuração, como o nome da regra, o tipo de regra, o tipo de avaliação e a dimensão.
- Informações dos resultados, como aprovação ou falha, número total de linhas, número de linhas aprovadas, número de linhas nulas e número de linhas avaliadas.
As informações nos registos estão disponíveis através da API e da Google Cloud consola. Pode usar estas informações para configurar alertas. Para mais informações, consulte o artigo Defina alertas no registo.
Enviar relatórios de notificações por email
Pode enviar relatórios de notificação por email para alertar as pessoas sobre o estado e os resultados de uma tarefa de qualidade de dados. Os relatórios de notificações estão disponíveis para os seguintes cenários:
- O índice de qualidade dos dados é inferior a um índice alvo especificado
- A tarefa falhou
- O trabalho foi concluído
Configura relatórios de notificações quando cria uma análise de qualidade de dados.
Resolva problemas de falhas na qualidade de dados
Quando uma regra falha, o Dataplex Universal Catalog produz uma consulta para obter os registos com falhas. Execute esta consulta para ver os registos que não corresponderam à sua regra. Para mais informações, consulte o artigo Resolva uma falha de qualidade de dados.
Limitações
- As recomendações de regras não são suportadas na CLI gcloud.
- A escolha das dimensões está limitada a uma das sete dimensões predefinidas.
- O número de regras por análise de qualidade dos dados está limitado a 1000.
- As classificações de qualidade de dados comunicadas ao nível da coluna só são suportadas na API.
Preços
Para mais informações sobre os preços, consulte os preços do Dataplex Universal Catalog.
O que se segue?
- Saiba como usar a qualidade de dados automática.
- Saiba mais sobre a criação de perfis de dados.
- Saiba como usar a criação de perfis de dados.