Neste documento, descrevemos a qualidade de dados automática do Dataplex, que permite que você defina e meça a qualidade dos seus dados. É possível automatizar de dados, validar dados em relação a regras definidas e registrar alertas se as não atendem aos requisitos de qualidade. É possível gerenciar as regras de qualidade implantações como código, melhorando a integridade dos pipelines de produção de dados.
Para começar, você pode usar Criação de perfil de dados do Dataplex recomendações de regras ou criando regras personalizadas no console do Google Cloud. O Dataplex fornece monitoramento, solução de problemas Alertas do Cloud Logging integrados ao Dataplex automaticamente a qualidade dos dados.
Modelo conceitual
Uma verificação de dados é um job do Dataplex que faz a amostragem dos dados
no BigQuery e no Cloud Storage e infere vários tipos de
metadados. Para medir a qualidade de uma tabela usando a qualidade de dados automática, você cria
um objeto DataScan
do tipo data quality
. A verificação é executada apenas
uma tabela do BigQuery. A verificação usa recursos em um projeto do
projeto de locatário, de modo que você não precisa
precisa configurar sua própria infraestrutura.
Para criar e usar uma verificação de qualidade de dados, siga estas etapas:
- Definir regras de qualidade de dados
- Configurar a execução da regra
- Analisar os resultados da verificação de qualidade de dados
- Configurar o monitoramento e os alertas
- Resolver falhas na qualidade de dados
Definição da regra
As regras de qualidade de dados associadas a uma verificação de qualidade de dados definem os dados as expectativas da equipe. É possível criar regras de qualidade de dados das seguintes maneiras:
- Usar recomendações da criação de perfil de dados do Dataplex
- Usar as regras predefinidas
- Criar regras SQL personalizadas
Regras predefinidas
O Dataplex oferece suporte a duas categorias de regras predefinidas: linha agregar.
- No nível da linha
Para regras de categoria no nível da linha, a expectativa é aplicada em cada linha de dados. Cada linha passa ou vai falhar na condição. Por exemplo,
column_A_value < 1
As verificações no nível da linha exigem que você especifique um limite de aprovação. Quando o a porcentagem de linhas que passam a regra estiver abaixo do valor limite, a regra falhar.
- Agregar
Para regras de agregação, a expectativa é são aplicadas a um único valor agregado em todos os dados. Por exemplo,
Avg(someCol) >= 10
. Para ser aprovado, a verificação deve avaliar booleanotrue
. As regras de agregação não estabelecem uma aprovação independente ou uma reprovação para cada linha.
Em ambas as categorias de regras, você pode definir os seguintes parâmetros:
- A coluna à qual a regra se aplica.
- Uma dimensão de um conjunto de dimensões predefinidas.
A tabela a seguir lista os tipos de regra agregada e no nível da linha compatíveis:
Tipo de regra (nome no console do Google Cloud) |
Regra agregada ou no nível da linha | Descrição | Tipos de coluna compatíveis | Parâmetros específicos da regra |
---|---|---|---|---|
RangeExpectation (Verificação de intervalo) |
No nível da linha | Verifique se o valor está entre mínimo e máximo. | Todas as colunas do tipo numérico, de data e de carimbo de data/hora. | Obrigatório:
|
NonNullExpectation (Verificação de valores nulos) |
No nível da linha | Valide se os valores da coluna não são NULL. | Todos os tipos de coluna compatíveis. | Obrigatório:
|
SetExpectation (Defina a verificação) |
No nível da linha | Verifica se os valores em uma coluna são um dos valores especificados em um conjunto. | Todos os tipos de coluna com suporte, exceto Record e Struct . |
Obrigatório:
|
RegexExpectation (Verificação de expressão regular) |
No nível da linha | Verifique os valores em relação a uma expressão regular especificada. | String | Obrigatório:
|
Uniqueness (Verificação de exclusividade) |
Agregar | Verifique se todos os valores em uma coluna são únicos. | Todos os tipos de coluna com suporte, exceto Record e Struct . |
Obrigatório:
|
StatisticRangeExpectation (Verificação de estatística) |
Agregar | Verifique se a medida estatística fornecida corresponde à expectativa do intervalo. | Todos os tipos de coluna numérica com suporte. | Obrigatório:
|
Tipos de regras SQL personalizadas com suporte
As regras SQL oferecem flexibilidade para expandir a validação com lógica personalizada. Esses e as regras de firewall têm os tipos a seguir.
Tipo de regra | Regra agregada ou no nível da linha | Descrição | Tipos de coluna compatíveis | Parâmetros específicos da regra | Exemplo |
---|---|---|---|---|---|
Condição da linha | No nível da linha | Especifique uma expectativa para cada linha definindo um SQL.
em uma cláusula A expressão pode incluir uma referência a outra tabela, por exemplo, para criar e verificações de integridade referenciais. |
Todas as colunas | Obrigatório:
|
grossWeight <= netWeight |
Condição da tabela (expressão SQL agregada) |
Agregar | Essas regras são executadas uma vez por tabela. Forneça uma expressão SQL que
é avaliado como booleano A expressão SQL pode incluir uma referência a outra tabela usando subconsultas de expressão; |
Todas as colunas | Obrigatório:
|
Exemplo simples de agregação: Usando uma subconsulta de expressão para comparar valores em uma tabela diferente: |
Declaração de SQL | Agregar | Uma regra de declaração usa uma consulta de qualidade de dados para encontrar linhas com falha uma ou mais condições especificadas na consulta. Fornecer uma instrução SQL que é avaliado para retornar linhas que correspondem ao estado inválido. Se o consulta retornar qualquer linha, a regra falhará. Omita o ponto e vírgula final da instrução SQL. A instrução SQL pode incluir uma referência a outra tabela usando subconsultas de expressão (link em inglês). |
Todas as colunas | Obrigatório:
|
Exemplo simples de agregação para garantir que Usando uma subconsulta de expressão para comparar valores em uma tabela diferente: |
Para conferir exemplos de regras, consulte Regras de amostra para qualidade de dados automática.
Para funções SQL compatíveis, consulte a Referência do GoogleSQL.
Dimensões
As dimensões permitem agregar os resultados de várias regras de qualidade de dados para monitoramento e alerta. É necessário associar cada regra de qualidade de dados a um dimensão. O Dataplex é compatível com as seguintes dimensões:
- Atualização
- Volume
- Integridade
- Validade
- Consistência
- Precisão
- Exclusividade
Entrada digitada nas regras
Todos os parâmetros de valor são transmitidos como valores de string para a API. O Dataplex requer entradas para seguir Formato especificado do BigQuery.
Os parâmetros do tipo binário podem ser transmitidos como uma string codificada em base64.
Tipo | Formatos compatíveis | Exemplos |
---|---|---|
Binário | Valor codificado em Base64 | YXBwbGU= |
Carimbo de data/hora | [time_zone] OU AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][time_zone_offset] |
27-09-2014 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]] | 27-09-2014 12:30:00.45 |
Parâmetro de referência de dados
Ao criar uma regra SQL personalizada, é possível consultar uma tabela de fonte de dados e todas
dos filtros de pré-condição usando o parâmetro de referência de dados ${data()}
no
a regra, em vez de mencionar explicitamente a tabela de origem e seus filtros.
O Dataplex interpreta o parâmetro como uma referência à origem
tabela e seus filtros. Exemplos de filtros de pré-condição incluem filtros de linha,
porcentagens de amostragem e filtros incrementais.
Por exemplo, digamos que você tenha uma tabela de fonte de dados chamada
my_project_id.dim_dataset.dim_currency
: Você quer executar um conjunto de dados
que só verifica novos dados diários. Um filtro de linha que filtra por
entradas de hoje, transaction_timestamp >= current_date()
, foi aplicada à
tabela.
Uma regra SQL personalizada para encontrar linhas com discount_pct
para hoje tem esta aparência:
discount_pct IN (SELECT discount_pct FROM my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date())
Se você usar o parâmetro de referência de dados, poderá simplificar a regra. Substitua o
menção à tabela e aos filtros de pré-condição com o ${data()}
:
discount_pct IN (SELECT discount_pct FROM ${data()})
O Dataplex interpreta o parâmetro ${data()}
como um
referência à tabela de fonte 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 se refere apenas
dados.
O parâmetro ${data()}
diferencia maiúsculas de minúsculas.
Quando você usa um alias em uma subconsulta para se referir a colunas na tabela de origem,
use o parâmetro de referência de dados para se referir à tabela de origem ou omita
na referência da tabela. Não se refira às colunas na tabela de origem usando um
referência direta de tabela na cláusula WHERE
.
Recomendação:
Use o parâmetro de referência de dados para se referir à 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 da 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 a tabelas para se referir às 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
É possível programar as verificações de qualidade de dados para serem executadas em intervalos específicos ou para executar uma verificação sob demanda. Para gerenciar verificações de qualidade de dados, use a API ou a console do Google Cloud.
Quando você executa uma verificação de qualidade de dados, o Dataplex cria um job. Como parte da especificação de uma verificação de qualidade de dados, é possível definir o escopo ser um dos seguintes:
- Tabela completa
- Cada job valida a tabela inteira.
- Incremental
- Cada job valida dados incrementais. Para
determinar incrementos, forneça uma coluna
Date
/Timestamp
no que pode ser usada como marcador. Normalmente, essa é a coluna em que está particionada.
Filtrar dados
O Dataplex pode filtrar os dados a serem verificados quanto à qualidade deles usando uma filtro de linha. Criar um filtro de linha permite que você se concentre nos dados de uma determinada período ou segmento específico, como uma certa região. O uso de filtros pode reduzir o tempo e o custo de execução, por exemplo, filtrando dados com um carimbo de data/hora antes de uma certa data.
Dados de amostra
O Dataplex permite especificar uma porcentagem de registros dos seus dados para fazer uma verificação de qualidade de dados. Criar verificações de qualidade de dados uma amostra menor de dados pode reduzir o tempo de execução e o custo da consulta do o conjunto de dados inteiro.
Resultados da verificação de qualidade de dados
Os resultados das verificações de qualidade de dados estão disponíveis no Dataplex. Também é possível revisar e analisar os resultados da verificação usando os seguintes métodos:
Exportar resultados para o BigQuery
Você pode exportar os resultados da verificação para uma tabela do BigQuery análise. Para personalizar os relatórios, conecte o BigQuery para um painel do Looker. Você pode criar um relatório agregado usando a mesma tabela de resultados em várias verificações.
Publicar resultados no console do Google Cloud
É possível publicar os resultados da verificação de qualidade de dados no as páginas do BigQuery e do Data Catalog na console do Google Cloud. Os resultados mais recentes da verificação estão disponíveis na Guia Qualidade de dados da tabela de origem.
Revisar os índices de qualidade de dados
Cada resultado da verificação fornece pontuações de qualidade de dados que indicam a porcentagem de que foram aprovadas. As pontuações são informadas no nível geral da vaga, a coluna nível (se a regra for avaliada em relação a uma coluna) e o nível da dimensão. Usar os índices de qualidade de dados para normalizar a qualidade dos dados em tabelas ou colunas, monitorar tendências e identificar dados que não atendem aos requisitos de qualidade.
Para mais informações, consulte Veja os resultados da verificação da qualidade de dados.
Monitoramento e alertas
É possível monitorar e receber alertas sobre verificações de qualidade de dados usando as seguintes opções: métodos:
Definir alertas no Cloud Logging
É possível monitorar os jobs de qualidade de dados usando as APIs
data_scan
edata_quality_scan_rule_result
na Análise de registros.Para cada job de qualidade de dados, o registro
data_scan
com o campodata_scan_type
definido comoDATA_QUALITY
contém as seguintes informações:- Fonte de dados usada para a verificação de dados.
- detalhes da execução do job, como horário de criação, de início, de término e o estado do job.
- Resultado do job de qualidade de dados: aprovado ou reprovado.
- A dimensão foi aprovada ou reprovada.
Todo job bem-sucedido contém um
data_quality_scan_rule_result
. com as seguintes informações detalhadas sobre cada regra nesse job:- informações de configuração, como nome da regra, tipo de regra, tipo de avaliação, e dimensão.
- Informações do resultado, como aprovação ou falha, contagem total de linhas, linha de passagem contagem, contagem de linhas nulas e contagem de linhas avaliadas.
As informações nos registros estão disponíveis na API e console do Google Cloud. Use essas informações para configurar alertas. Para mais informações, consulte Defina alertas no Logging.
Enviar notificações por e-mail
É possível enviar notificações por e-mail para alertar as pessoas sobre o status e resultados de um trabalho de qualidade de dados. As notificações estão disponíveis para cenários a seguir:
- O índice de qualidade dos dados é menor do que um valor desejado especificado
- Falha no job
- O job foi concluído
Você configura notificações quando Crie uma verificação de qualidade de dados.
Resolver falhas na qualidade de dados
Quando uma regra falha, o Dataplex produz uma consulta para recuperar registros. Execute esta consulta para conferir os registros que não correspondem à sua regra. Para mais informações, consulte Solucionar uma falha na qualidade de dados.
Limitações
- Os resultados da verificação de qualidade de dados não são publicados no Data Catalog como tags.
- As recomendações de regras não são compatíveis com a CLI gcloud.
- A escolha das dimensões é fixada em uma das sete dimensões predefinidas.
- O número de regras por verificação de qualidade de dados é limitado a mil.
- As notificações por e-mail são compatíveis apenas com a CLI e a API gcloud.
- As pontuações de qualidade de dados informadas no nível da coluna são compatíveis apenas na API.
Preços
O Dataplex usa a SKU de processamento premium para cobrar por a qualidade dos dados. Para mais informações, consulte Preços do Dataplex.
A publicação de resultados automáticos de qualidade de dados no catálogo ainda não está disponível. Quando estará disponível, será cobrada a mesma taxa dos metadados do catálogo os preços de armazenamento. Para mais detalhes, consulte os preços.
O processamento premium do Dataplex para qualidade de dados automática é cobrado de acordo segundo, com o mínimo de um minuto.
Não há cobranças por verificações de qualidade de dados com falha.
A cobrança depende do número de linhas, de colunas, da quantidade os dados verificados, a configuração da regra de qualidade de dados, as configurações de particionamento e clustering na tabela e a frequência gscan
Há várias opções para reduzir o custo das verificações automáticas de qualidade de dados:
Para separar as cobranças de qualidade de dados de outras no Dataplex SKU de processamento premium, na relatório do Cloud Billing, use o rótulo
goog-dataplex-workload-type
com o valorDATA_QUALITY
.Para filtrar cobranças agregadas, use os seguintes rótulos:
goog-dataplex-datascan-data-source-dataplex-entity
goog-dataplex-datascan-data-source-dataplex-lake
goog-dataplex-datascan-data-source-dataplex-zone
goog-dataplex-datascan-data-source-project
goog-dataplex-datascan-data-source-region
goog-dataplex-datascan-id
goog-dataplex-datascan-job-id
A seguir
- Saiba como usar a qualidade de dados automática.
- Saiba mais sobre a criação de perfil de dados.
- Saiba como usar a criação de perfil de dados.