Esta página descreve como criar uma verificação de qualidade de dados do Catálogo Universal do Dataplex.
Para saber mais sobre as verificações de qualidade de dados, consulte Sobre a qualidade de dados automática.
Antes de começar
Ative a API Dataplex.
Opcional: se você quiser que o Catálogo Universal do Dataplex gere recomendações de regras de qualidade de dados com base nos resultados de uma verificação de perfil de dados, crie e execute a verificação de perfil de dados.
Funções exigidas
Para executar uma verificação de qualidade de dados em uma tabela do BigQuery, você precisa de permissão para ler a tabela e para criar um job do BigQuery no projeto usado para verificar a tabela.
Se a tabela do BigQuery e a verificação de qualidade de dados estiverem em projetos diferentes, conceda à conta de serviço do Catálogo Universal do Dataplex do projeto que contém a verificação de qualidade de dados a permissão de leitura na tabela correspondente do BigQuery.
Se as regras de qualidade de dados se referirem a outras tabelas, a conta de serviço do projeto de verificação precisará ter permissões de leitura nas mesmas tabelas.
Para receber as permissões necessárias para exportar os resultados da verificação para uma tabela do BigQuery, peça ao administrador para conceder à conta de serviço do catálogo universal do Dataplex o papel do IAM de Editor de dados do BigQuery (
roles/bigquery.dataEditor
) no conjunto de dados e na tabela de resultados. Isso concede as seguintes permissões:bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.update
bigquery.tables.updateData
Se os dados do BigQuery estiverem organizados em um data lake do Dataplex Universal Catalog, conceda à conta de serviço do Dataplex Universal Catalog os papéis do IAM de Leitor de metadados do Dataplex (
roles/dataplex.metadataReader
) e Leitor do Dataplex (roles/dataplex.viewer
). Como alternativa, você precisa de todas as seguintes permissões:dataplex.lakes.list
dataplex.lakes.get
dataplex.zones.list
dataplex.zones.get
dataplex.entities.list
dataplex.entities.get
dataplex.operations.get
Se você estiver verificando uma tabela externa do BigQuery no Cloud Storage, conceda à conta de serviço do catálogo universal do Dataplex a função
roles/storage.objectViewer
do Cloud Storage para o bucket. Como alternativa, atribua à conta de serviço do Dataplex Universal Catalog as seguintes permissões:storage.buckets.get
storage.objects.get
Se você quiser publicar os resultados da verificação de qualidade de dados como metadados do catálogo universal do Dataplex, precisará receber o papel do IAM de Editor de dados do BigQuery (
roles/bigquery.dataEditor
) para a tabela e a permissãodataplex.entryGroups.useDataQualityScorecardAspect
no grupo de entradas@bigquery
no mesmo local da tabela. Como alternativa, você precisa receber a função de editor do Dataplex Catalog (roles/dataplex.catalogEditor
) para o grupo de entrada@bigquery
no mesmo local da tabela.Como alternativa, você precisa de todas as seguintes permissões:
bigquery.tables.get
bigquery.tables.update
bigquery.tables.updateData
bigquery.tables.delete
dataplex.entryGroups.useDataQualityScorecardAspect
Ou você precisa de todas as seguintes permissões:
dataplex.entries.update
dataplex.entryGroups.useDataQualityScorecardAspect
Se você precisar acessar colunas protegidas por políticas de acesso no nível da coluna do BigQuery, atribua permissões da conta de serviço do Dataplex Universal Catalog a essas colunas. O usuário que cria ou atualiza uma verificação de dados também precisa de permissões para as colunas.
Se uma tabela tiver políticas de acesso no nível da linha do BigQuery ativadas, você só poderá verificar as linhas visíveis para a conta de serviço do Universal Catalog do Dataplex. Observação: os privilégios de acesso do usuário individual não são avaliados para políticas no nível da linha.
Funções necessárias para verificação de dados
Para usar a qualidade de dados automática, você precisa ter as permissões para executar verificações de dados ou uma função com permissões predefinidas para executar verificações de dados.
A tabela a seguir lista as permissões DataScan
:
Nome da permissão | Concede permissão para fazer o seguinte: |
---|---|
dataplex.datascans.create |
Criar um DataScan |
dataplex.datascans.delete |
Excluir um DataScan |
dataplex.datascans.get |
Ver metadados operacionais, como ID ou programação, mas não resultados e regras |
dataplex.datascans.getData |
Conferir detalhes de DataScan , incluindo regras e resultados |
dataplex.datascans.list |
Listar DataScan s |
dataplex.datascans.run |
Executar um DataScan |
dataplex.datascans.update |
Atualizar a descrição de um DataScan |
dataplex.datascans.getIamPolicy |
Conferir as permissões atuais do IAM na verificação |
dataplex.datascans.setIamPolicy |
Definir permissões do IAM na verificação |
Conceda aos usuários um ou mais dos seguintes papéis:
- Acesso total aos recursos
DataScan
: administrador do DataScan Dataplex (roles/dataplex.dataScanAdmin
) - Acesso de gravação aos recursos
DataScan
: editor do DataScan Dataplex (roles/dataplex.dataScanEditor
) - Acesso de leitura aos recursos
DataScan
, exceto regras e resultados: Leitor do DataScan Dataplex (roles/dataplex.dataScanViewer
) - Acesso de leitura aos recursos
DataScan
, incluindo regras e resultados: Leitor de dados do DataScan Dataplex (roles/dataplex.dataScanDataViewer
)
Definir regras de qualidade de dados
É possível definir regras de qualidade de dados usando regras integradas ou verificações SQL personalizadas. Se você estiver usando a Google Cloud CLI, poderá definir essas regras em um arquivo JSON ou YAML.
Os exemplos nas seções a seguir mostram como definir várias regras de qualidade de dados. As regras validam uma tabela de amostra que contém dados sobre transações de clientes. Suponha que a tabela tenha o seguinte esquema:
Nome da coluna | Tipo de coluna | Descrição da coluna |
---|---|---|
transaction_timestamp | Carimbo de data/hora | Carimbo de data/hora da transação. A tabela é particionada nesse campo. |
customer_id | String | Um ID de cliente no formato de oito letras seguidas por 16 dígitos. |
transaction_id | String | O ID da transação precisa ser exclusivo em toda a tabela. |
currency_id | String | Uma das moedas aceitas.O tipo de moeda precisa corresponder a uma das moedas disponíveis na tabela de dimensões dim_currency .
|
amount | float | Valor da transação. |
discount_pct | float | Porcentagem de desconto. Esse valor precisa estar entre 0 e 100. |
Definir regras de qualidade de dados usando tipos de regra integrados
As regras de exemplo a seguir são baseadas em tipos de regras integrados. É possível criar regras com base em tipos de regras integrados usando o console Google Cloud ou a API. O Dataplex Universal Catalog pode recomendar algumas dessas regras.
Nome da coluna | Tipo de regra | Dimensão sugerida | Parâmetros de regra |
---|---|---|---|
transaction_id |
Verificação de exclusividade | Exclusividade | Threshold: Not Applicable |
amount |
Verificação de nulo | Integridade | Threshold: 100% |
customer_id |
Verificação de regex (expressão regular) | Validade | Expressão regular: ^[0-9]{8}[a-zA-Z]{16}$ Limite: 100%
|
currency_id |
Verificação de valor definido | Validade | Conjunto de: USD,JPY,INR,GBP,CAN Limite: 100%
|
Definir regras de qualidade de dados usando regras SQL personalizadas
Para criar regras SQL personalizadas, use a seguinte estrutura:
Ao criar uma regra que avalia uma linha por vez, crie uma expressão que gere o número de linhas bem-sucedidas quando o Dataplex Universal Catalog avaliar a consulta
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE
. O Dataplex Universal Catalog verifica o número de linhas bem-sucedidas em relação ao limite.Ao criar uma regra que avalia as linhas ou usa uma condição de tabela, crie uma expressão que retorne sucesso ou falha quando o Dataplex Universal Catalog avaliar a consulta
SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE
.Ao criar uma regra que avalia o estado inválido de um conjunto de dados, forneça uma instrução que retorne linhas inválidas. Se alguma linha for retornada, a regra vai falhar. Omita o ponto e vírgula final da instrução SQL.
É possível se referir a uma tabela de fonte de dados e a todos os filtros de pré-condição usando o parâmetro de referência de dados
${data()}
em uma regra, em vez de mencionar explicitamente a tabela de origem e os filtros dela. Exemplos de filtros de pré-condição incluem filtros de linha, porcentagens de amostragem e filtros incrementais. O parâmetro${data()}
diferencia maiúsculas de minúsculas.
As regras de exemplo a seguir são baseadas em regras SQL personalizadas.
Tipo de regra | Descrição da regra | Expressão SQL |
---|---|---|
Condição da linha | Verifica se o valor de discount_pct
está entre 0 e 100.
|
0 <discount_pct AND discount_pct < 100
|
Condição da linha | Verificação de referência para validar se currency_id é uma das moedas aceitas.
|
currency_id in (select id from my_project_id.dim_dataset.dim_currency)
|
Condição da tabela | Expressão SQL agregada que verifica se o discount_pct médio está entre 30% e 50%.
|
30<avg(discount) AND avg(discount) <50
|
Condição da linha | Verifica se uma data não está no futuro. | TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
|
Condição da tabela |
Uma função definida pelo usuário (UDF) do BigQuery
para verificar se o valor médio da transação é menor que um valor predefinido
por país. Crie a UDF (JavaScript) executando o seguinte comando:
CREATE OR REPLACE FUNCTION myProject.myDataset.average_by_country ( country STRING, average FLOAT64) RETURNS BOOL LANGUAGE js AS R""" if (country = "CAN" && average < 5000){ return 1 } else if (country = "IND" && average < 1000){ return 1 } else { return 0 } """; |
Exemplo de regra para verificar o valor médio da transação para country=CAN .
myProject.myDataset.average_by_country( "CAN", (SELECT avg(amount) FROM myProject.myDataset.transactions_table WHERE currency_id = 'CAN' )) |
Condição da tabela | Uma cláusula PREDICT do BigQuery ML para identificar anomalias em discount_pct . Ele verifica se um desconto deve ser aplicado com base em customer , currency e transaction . A regra verifica se a previsão corresponde ao valor real em pelo menos 99% das vezes. Suposição: o modelo de ML é criado antes de usar a regra. Crie o modelo de ML usando o comando a seguir:
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
A regra a seguir verifica se a acurácia da previsão é maior que 99%.
SELECT accuracy > 0.99 FROM ML.EVALUATE (MODEL model-project-id.dataset-id.model-name, ( SELECT customer_id, currency_id, amount, discount_pct FROM data-project-id.dataset-id.table-names WHERE transaction_timestamp > '2022-01-01'; ) ) |
Condição da linha | Uma função de previsão do BigQuery ML para identificar anomalias em discount_pct . A função
verifica se um desconto deve ser aplicado com base em customer ,
currency e transaction .
A regra identifica todas as ocorrências em que a previsão não correspondeu.
Suposição: o modelo de ML é criado antes de usar a regra. Crie o modelo de ML usando o seguinte comando:
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
A regra a seguir verifica se a previsão de desconto corresponde ao valor real de cada linha.
IF(discount_pct > 0, 1, 0) =(SELECT predicted_label FROM ML.PREDICT( MODEL model-project-id.dataset-id.model-name, ( SELECT customer_id, currency_id, amount, discount_pct FROM data-project-id.dataset-id.table-names AS t WHERE t.transaction_timestamp = transaction_timestamp LIMIT 1 ) ) ) |
Declaração SQL | Valida se o discount_pct é maior que 30% para hoje verificando se há linhas com uma porcentagem de desconto menor ou igual a 30. |
SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date() |
Declaração SQL (com um parâmetro de referência de dados) | Verifica se o O filtro de data O parâmetro de referência de dados |
SELECT * FROM ${data()} WHERE discount_pct > 30 |
Definir regras de qualidade de dados usando a CLI gcloud
O exemplo de arquivo YAML a seguir usa algumas das mesmas regras dos exemplos de regras usando tipos integrados e dos exemplos de regras SQL personalizadas. É possível usar esse arquivo YAML como entrada para o comando da CLI gcloud.
rules:
- uniquenessExpectation: {}
column: transaction_id
dimension: UNIQUENESS
- nonNullExpectation: {}
column: amount
dimension: COMPLETENESS
threshold: 1
- regexExpectation:
regex: '^[0-9]{8}[a-zA-Z]{16}$'
column : customer_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- setExpectation :
values :
- 'USD'
- 'JPY'
- 'INR'
- 'GBP'
- 'CAN'
column : currency_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rangeExpectation:
minValue : '0'
maxValue : '100'
column : discount_pct
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rowConditionExpectation:
sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
column: discount_pct
dimension: VALIDITY
threshold: 1
- rowConditionExpectation:
sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
column: currency_id
dimension: VALIDITY
threshold: 1
- tableConditionExpectation:
sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
dimension: VALIDITY
- rowConditionExpectation:
sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
column: transaction_timestamp
dimension: VALIDITY
threshold: 1
- sqlAssertion:
sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
dimension: VALIDITY
Criar uma verificação de qualidade de dados
Console
No console do Google Cloud , acesse a página Qualidade dos dados.
Clique em Criar verificação de qualidade de dados.
Na janela Definir verificação, preencha os seguintes campos:
Insira um Nome de exibição.
O ID da verificação é gerado automaticamente se você não fornecer um ID próprio. Consulte a convenção de nomenclatura de recursos.
Opcional: digite uma Descrição.
No campo Tabela, clique em Procurar, escolha sua tabela e clique em Selecionar. O Universal Catalog do Dataplex é compatível apenas com tabelas padrão do BigQuery.
Para tabelas em conjuntos de dados multirregionais, escolha uma região em que a verificação de dados será criada.
Para navegar pelas tabelas organizadas no lake do Dataplex Universal Catalog, clique em Procurar dentro de lagos do Dataplex.
No campo Escopo, escolha Incremental ou Dados inteiros.
- Se você escolher Incremental: no campo Coluna de carimbo de data/hora, selecione uma coluna do tipo
DATE
ouTIMESTAMP
na tabela do BigQuery que aumenta monotonicamente e pode ser usada para identificar novos registros. Pode ser uma coluna que particiona a tabela.
- Se você escolher Incremental: no campo Coluna de carimbo de data/hora, selecione uma coluna do tipo
Opcional: adicione rótulos. Rótulos são pares
key:value
que permitem agrupar objetos relacionados entre si ou com outros recursos Google Cloud .Para filtrar os dados, clique em Filtros. Marque a caixa de seleção Filtrar linhas. O valor de entrada para o filtro de linha precisa ser uma expressão SQL válida que pode ser usada como parte de uma cláusula
WHERE
na sintaxe do GoogleSQL. Por exemplo,col1 >= 0
. O filtro pode ser uma combinação de várias condições de coluna. Por exemplo,col1 >= 0 AND col2 < 10
.Para fazer uma amostragem dos dados, na lista Tamanho da amostragem, selecione uma porcentagem de amostragem. Escolha uma porcentagem entre 0,0% e 100,0% com até três casas decimais. Para conjuntos de dados maiores, escolha uma porcentagem de amostragem menor. Por exemplo, para uma tabela de 1 PB, se você inserir um valor entre 0,1% e 1,0%, o Dataplex Universal Catalog vai amostrar entre 1 e 10 TB de dados. Para verificações incrementais de dados, o Catálogo Universal do Dataplex aplica amostragem ao incremento mais recente.
Para publicar os resultados da verificação de qualidade de dados como metadados do Catálogo Universal do Dataplex, marque a caixa de seleção Publicar resultados no BigQuery e no Dataplex Catalog.
É possível conferir os resultados mais recentes da verificação na guia Qualidade de dados nas páginas do BigQuery e do Catálogo Universal do Dataplex da tabela de origem. Para permitir que os usuários acessem os resultados publicados da verificação, consulte Compartilhar os resultados publicados.
Clique em Continuar.
Na janela Programar, escolha uma das seguintes opções:
Repetir: execute o job de verificação da qualidade de dados em uma programação: diária, semanal, mensal ou personalizada. Especifique com que frequência e a que horas a verificação é executada. Se você escolher "Personalizado", use o formato cron para especificar a programação.
Sob demanda: execute o job de verificação de qualidade de dados sob demanda.
Clique em Continuar.
Na janela Regras de qualidade de dados, defina as regras a serem configuradas para essa verificação de qualidade de dados. Clique em Adicionar regras e escolha uma das seguintes opções:
Recomendações com base no perfil: crie regras com base nas recomendações de uma verificação de perfil de dados.
Escolher colunas: selecione as colunas para receber regras recomendadas.
Verificar projeto: recomendações baseadas em uma verificação de perfil de dados. Por padrão, o Dataplex Universal Catalog seleciona verificações de criação de perfil do mesmo projeto em que você está criando a verificação de qualidade de dados. Se você criou a verificação em um projeto diferente, especifique o projeto para extrair as verificações de perfil.
Escolher resultados de perfil: com base nas colunas e no projeto selecionados, vários resultados de perfil aparecem.
Selecione um ou mais resultados de perfil e clique em OK. Isso preenche uma lista de regras para você escolher.
Marque as caixas e clique em Selecionar para escolher as regras que você quer editar. Depois de selecionadas, as regras são adicionadas à sua lista de regras atual. Em seguida, edite as regras.
Tipos de regra integrados: crie regras com base em regras predefinidas. Consulte a lista de regras predefinidas.
Escolher colunas: selecione as colunas para as quais você quer selecionar regras.
Escolher tipos de regra: com base nas colunas selecionadas, vários tipos de regra aparecem para seleção.
Selecione um ou mais tipos de regra e clique em OK. Isso preenche uma lista de regras para você escolher.
Marque as caixas e clique em Selecionar para escolher as regras que você quer editar. Depois de selecionadas, as regras são adicionadas à sua lista atual. Em seguida, você pode editar as regras.
Regra de verificação de linhas SQL: crie uma regra SQL personalizada para aplicar a cada linha (regra de verificação de linhas SQL personalizada).
Em Dimensão, escolha uma opção.
Em Limite de aprovação, escolha uma porcentagem de registros que precisam passar na verificação.
Em Nome da coluna, escolha uma coluna.
No campo Forneça uma expressão SQL, insira uma expressão SQL que seja avaliada como um booleano
true
(aprovação) oufalse
(reprovação). Para mais informações, consulte Tipos de regras de SQL personalizadas aceitos e os exemplos na seção Definir regras de qualidade de dados deste documento.Clique em Adicionar.
Regra de verificação agregada do SQL: crie uma regra de condição de tabela SQL personalizada.
Em Dimensão, escolha uma opção.
Em Nome da coluna, escolha uma coluna.
No campo Forneça uma expressão SQL, insira uma expressão SQL que seja avaliada como um booleano
true
(aprovação) oufalse
(reprovação). Para mais informações, consulte Tipos de regras de SQL personalizadas aceitos e os exemplos na seção Definir regras de qualidade de dados deste documento.Clique em Adicionar.
Regra de declaração do SQL: crie uma regra de declaração do SQL personalizada para verificar um estado inválido dos dados.
Em Dimensão, escolha uma opção.
Opcional: em Nome da coluna, escolha uma coluna.
No campo Forneça uma instrução SQL, insira uma instrução SQL que retorne linhas que correspondam ao estado inválido. Se alguma linha for retornada, essa regra vai falhar. Omita o ponto e vírgula final da instrução SQL. Para mais informações, consulte Tipos de regras SQL personalizadas aceitos e os exemplos na seção Definir regras de qualidade de dados deste documento.
Clique em Adicionar.
O Dataplex Universal Catalog permite nomes personalizados para regras de qualidade de dados para monitoramento e alertas. Para qualquer regra de qualidade de dados, é possível atribuir um nome e uma descrição personalizados. Para fazer isso, edite uma regra e especifique os seguintes detalhes:
- Nome da regra: insira um nome personalizado com até 63 caracteres. O nome da regra pode incluir letras (a-z, A-Z), dígitos (0-9) e hifens (-) e precisa começar com uma letra e terminar com um número ou uma letra.
- Descrição: insira uma descrição da regra com comprimento máximo de 1.024 caracteres.
Clique em Continuar.
Opcional: exporte os resultados da verificação para uma tabela padrão do BigQuery. Na seção Exportar os resultados da verificação para a tabela do BigQuery, clique em Procurar para selecionar um conjunto de dados do BigQuery existente e armazenar os resultados da verificação de qualidade de dados.
Se a tabela especificada não existir, o Dataplex Universal Catalog a criará para você. Se você estiver usando uma tabela atual, verifique se ela é compatível com o esquema da tabela de exportação.
Opcional: configure relatórios de notificação por e-mail para alertar as pessoas sobre o status e os resultados de um job de verificação da qualidade de dados. Na seção Relatório de notificação, clique em
Adicionar ID de e-mail e insira até cinco endereços de e-mail. Em seguida, selecione os cenários para os quais você quer enviar relatórios:- Índice de qualidade (<=): envia um relatório quando um trabalho é concluído com um índice de qualidade de dados menor que o índice de destino especificado. Insira uma meta de qualidade entre 0 e 100.
- Falhas de job: envia um relatório quando o job falha, independente dos resultados da qualidade dos dados.
- Conclusão do job (sucesso ou falha): envia um relatório quando o job termina, independente dos resultados da qualidade dos dados.
Clique em Criar.
Depois que a verificação for criada, você poderá executá-la a qualquer momento clicando em Executar agora.
gcloud
Para criar uma verificação de qualidade de dados, use o
comando gcloud dataplex datascans create data-quality
.
Se os dados de origem estiverem organizados em um data lake do Catálogo Universal do Dataplex, inclua a flag --data-source-entity
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
Se os dados de origem não estiverem organizados em um data lake do Dataplex Universal Catalog, inclua a flag --data-source-resource
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
Substitua as seguintes variáveis:
DATASCAN
: o nome da verificação de qualidade de dados.LOCATION
: a região Google Cloud em que a verificação de qualidade de dados será criada.DATA_QUALITY_SPEC_FILE
: o caminho para o arquivo JSON ou YAML que contém as especificações da verificação de qualidade de dados. Pode ser um arquivo local ou um caminho do Cloud Storage com o prefixogs://
. Use esse arquivo para especificar as regras de qualidade de dados da verificação. Também é possível especificar outros detalhes nesse arquivo, como filtros, porcentagem de amostragem e ações pós-verificação, como exportar para o BigQuery ou enviar relatórios de notificação por e-mail. Consulte a documentação sobre representação JSON.DATA_SOURCE_ENTITY
: a entidade do Dataplex Universal Catalog que contém os dados da verificação de qualidade de dados. Por exemplo,projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity
.DATA_SOURCE_RESOURCE
: o nome do recurso que contém os dados da verificação de qualidade de dados. Por exemplo,//bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
.
REST
Use o APIs Explorer para criar uma verificação de qualidade de dados.
Se você quiser criar regras para a verificação de qualidade de dados usando recomendações de regras baseadas nos resultados de uma verificação de perfil de dados, chame o método dataScans.jobs.generateDataQualityRules
na verificação de perfil de dados.
Exportar esquema da tabela
Para exportar os resultados da verificação de qualidade de dados para uma tabela do BigQuery existente, verifique se ela é compatível com o seguinte esquema de tabela:
Nome da coluna | Tipo de dados da coluna | Nome do subcampo (se aplicável) |
Tipo de dados do subcampo | Modo | Exemplo |
---|---|---|---|---|---|
data_quality_scan | struct/record |
resource_name |
string |
anulável | //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan |
project_id |
string |
anulável | dataplex-back-end-dev-project |
||
location |
string |
anulável | us-central1 |
||
data_scan_id |
string |
anulável | test-datascan |
||
data_source | struct/record |
resource_name |
string |
anulável | Caso de entidade://dataplex.googleapis.com/projects/dataplex-back-end-dev-project/locations/europe-west2/lakes/a0-datascan-test-lake/zones/a0-datascan-test-zone/entities/table1 Caso de tabela: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
|
dataplex_entity_project_id |
string |
anulável | dataplex-back-end-dev-project |
||
dataplex_entity_project_number |
integer |
anulável | 123456789 |
||
dataplex_lake_id |
string |
anulável | (Válido apenas se a origem for uma entidade)test-lake
|
||
dataplex_zone_id |
string |
anulável | (Válido apenas se a origem for uma entidade)test-zone |
||
dataplex_entity_id |
string |
anulável | (Válido apenas se a origem for uma entidade)test-entity |
||
table_project_id |
string |
anulável | test-project |
||
table_project_number |
integer |
anulável | 987654321 |
||
dataset_id |
string |
anulável | (Válido apenas se a origem for uma tabela)test-dataset |
||
table_id |
string |
anulável | (Válido apenas se a origem for uma tabela)test-table |
||
data_quality_job_id | string |
anulável | caeba234-cfde-4fca-9e5b-fe02a9812e38 |
||
data_quality_job_configuration | json |
trigger |
string |
anulável | ondemand /schedule |
incremental |
boolean |
anulável | true /false |
||
sampling_percent |
float |
anulável | (0-100)20.0 (indica 20%) |
||
row_filter |
string |
anulável | col1 >= 0 AND col2 < 10 |
||
job_labels | json |
anulável | {"key1":value1} |
||
job_start_time | timestamp |
anulável | 2023-01-01 00:00:00 UTC |
||
job_end_time | timestamp |
anulável | 2023-01-01 00:00:00 UTC |
||
job_rows_scanned | integer |
anulável | 7500 |
||
rule_name | string |
anulável | test-rule |
||
rule_type | string |
anulável | Range Check |
||
rule_evaluation_type | string |
anulável | Per row |
||
rule_column | string |
anulável | Rule only attached to a certain column |
||
rule_dimension | string |
anulável | UNIQUENESS |
||
job_quality_result | struct/record |
passed |
boolean |
anulável | true /false |
score |
float |
anulável | 90.8 |
||
job_dimension_result | json |
anulável | {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
|
||
rule_threshold_percent | float |
anulável | (0,0-100,0)Rule-threshold-pct in API * 100 |
||
rule_parameters | json |
anulável | {min: 24, max:5345} |
||
rule_pass | boolean |
anulável | True |
||
rule_rows_evaluated | integer |
anulável | 7400 |
||
rule_rows_passed | integer |
anulável | 3 |
||
rule_rows_null | integer |
anulável | 4 |
||
rule_failed_records_query | string |
anulável | "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));" |
||
rule_assertion_row_count | integer |
anulável | 10 |
Ao configurar o BigQueryExport para um job de verificação da qualidade de dados, siga estas diretrizes:
- Para o campo
resultsTable
, use o formato://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}
. - Use uma tabela padrão do BigQuery.
- Se a tabela não existir quando a verificação for criada ou atualizada, o Dataplex Universal Catalog vai criar uma para você.
- Por padrão, a tabela é particionada diariamente na coluna
job_start_time
. - Se você quiser que a tabela seja particionada em outras configurações ou se não quiser a partição, recrie a tabela com o esquema e as configurações necessárias e forneça a tabela pré-criada como a tabela de resultados.
- Verifique se a tabela de resultados está no mesmo local que a tabela de origem.
- Se a VPC-SC estiver configurada no projeto, a tabela de resultados precisará estar no mesmo perímetro da VPC-SC que a tabela de origem.
- Se a tabela for modificada durante a fase de execução da verificação, o job em execução atual será exportado para a tabela de resultados anterior, e a mudança na tabela entrará em vigor a partir do próximo job de verificação.
- Não modifique o esquema da tabela. Se você precisar de colunas personalizadas, crie uma visualização na tabela.
- Para reduzir custos, defina uma expiração na partição com base no seu caso de uso. Para mais informações, consulte como definir a validade da partição.
Executar uma verificação de qualidade de dados
Console
No console do Google Cloud , acesse a página Qualidade dos dados.
Clique na verificação de qualidade de dados para executar.
Clique em Executar agora.
gcloud
Para executar uma verificação de qualidade de dados, use o
comando gcloud dataplex datascans run
:
gcloud dataplex datascans run DATASCAN \ --location=LOCATION \
Substitua as seguintes variáveis:
LOCATION
: a região Google Cloud em que a verificação de qualidade de dados foi criada.DATASCAN
: o nome da verificação de qualidade de dados.
REST
Use o APIs Explorer para executar a verificação da qualidade dos dados.
Ver os resultados da verificação de qualidade de dados
Console
No console do Google Cloud , acesse a página Qualidade dos dados.
Para ver os resultados detalhados de uma verificação, clique no nome dela.
A seção Visão geral mostra informações sobre os últimos sete jobs, incluindo quando a verificação foi executada, o número de registros verificados em cada job, se todas as verificações de qualidade de dados foram aprovadas, se houve falhas, o número de verificações de qualidade de dados que falharam e quais dimensões falharam.
A seção Configuração da verificação de qualidade de dados mostra detalhes sobre a verificação.
Para conferir as pontuações de qualidade de dados que indicam a porcentagem de regras aprovadas, clique na guia Histórico de jobs. Em seguida, clique em um ID do job.
gcloud
Para conferir os resultados de um job de verificação da qualidade de dados, use o
comando gcloud dataplex datascans jobs describe
:
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
Substitua as seguintes variáveis:
JOB
: o ID do job de verificação da qualidade dos dados.LOCATION
: a região Google Cloud em que a verificação de qualidade de dados foi criada.DATASCAN
: o nome da verificação de qualidade de dados a que o job pertence.--view=FULL
: para conferir o resultado do job de verificação, especifiqueFULL
.
REST
Use o APIs Explorer para ver os resultados de uma verificação de qualidade de dados.
Ver o histórico de resultados das verificações
O Dataplex Universal Catalog salva o histórico de verificação da qualidade de dados dos últimos 300 jobs ou do ano anterior, o que ocorrer primeiro.
Console
No console do Google Cloud , acesse a página Qualidade dos dados.
Clique no nome de uma verificação.
Clique na guia Histórico de jobs.
A guia Histórico de jobs fornece informações sobre jobs anteriores. Ele lista todos os jobs, o número de registros verificados em cada um, o status do job, a hora em que ele foi executado, se cada regra foi aprovada ou reprovada e muito mais.
Para ver informações detalhadas sobre um job, clique em qualquer um deles na coluna ID do job.
gcloud
Para conferir todos os jobs de uma verificação da qualidade de dados, use o
comando gcloud dataplex datascans jobs list
:
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
Substitua as seguintes variáveis:
LOCATION
: a região Google Cloud em que a verificação de qualidade de dados foi criada.DATASCAN
: o nome da verificação de qualidade de dados para conferir todos os jobs.
REST
Use o APIs Explorer para ver todos os jobs de verificação.
Compartilhar os resultados publicados
Ao criar uma verificação de qualidade de dados, se você escolher publicar os resultados como metadados do Catálogo Universal do Dataplex, os resultados mais recentes vão estar disponíveis nas páginas do BigQuery e do Catálogo Universal do Dataplex no consoleGoogle Cloud , na guia Qualidade de dados da tabela.
Você pode permitir que os usuários da sua organização acessem os resultados publicados da verificação. Para conceder acesso aos resultados da verificação, siga estas etapas:
No console do Google Cloud , acesse a página Qualidade dos dados.
Clique na verificação de qualidade de dados cujos resultados você quer compartilhar.
Acesse a guia Permissões.
Clique em Conceder acesso.
No campo Novos principais, adicione a principal a que você quer conceder acesso.
No campo Selecionar um papel, escolha Leitor de dados do DataScan Dataplex.
Clique em Salvar.
Para remover o acesso aos resultados publicados de uma verificação para um principal, siga estas etapas:
No console do Google Cloud , acesse a página Qualidade dos dados.
Clique na verificação de qualidade de dados cujos resultados você quer compartilhar.
Acesse a guia Permissões.
Selecione o principal para o qual você quer remover a função Dataplex DataScan DataViewer.
Clique em Remover acesso.
Clique em Confirmar.
Definir alertas no Cloud Logging
Para definir alertas de falhas na qualidade dos dados usando os registros do Cloud Logging, siga estas etapas:
Console
No console Google Cloud , acesse o Explorador de registros do Cloud Logging.
Na janela Consulta, digite sua consulta. Confira exemplos de consultas.
Selecione Executar consulta.
Clique em Criar alerta. Isso abre um painel lateral.
Insira o nome da política de alertas e clique em Próxima.
Revise a consulta.
Clique no botão Visualizar registros para testar a consulta. Isso mostra registros com condições correspondentes.
Clique em Próxima.
Defina o tempo entre as notificações e clique em Próxima.
Defina quem precisa ser notificado sobre o alerta e clique em Salvar para criar a política de alertas.
Também é possível configurar e editar seus alertas navegando no console do Google Cloud até Monitoring > Alertas.
gcloud
Incompatível.
REST
Use o APIs Explorer para definir alertas no Cloud Logging.
Consultas de exemplo para definir alertas no nível do job ou da dimensão
Uma consulta de exemplo para definir alertas sobre falhas gerais de qualidade de dados em uma verificação de qualidade de dados:
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND NOT jsonPayload.dataQuality.passed=true
Uma consulta de exemplo para definir alertas sobre falhas de qualidade de dados em uma dimensão (por exemplo, unicidade) de uma determinada verificação de qualidade de dados:
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=false
Uma consulta de exemplo para definir alertas sobre falhas na qualidade dos dados de uma tabela.
Defina alertas sobre falhas de qualidade de dados em uma tabela do BigQuery que não está organizada em um lake do Catálogo Universal do Dataplex:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Defina alertas sobre falhas de qualidade de dados em uma tabela do BigQuery organizada em um lake do Catálogo Universal do Dataplex:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Exemplos de consultas para definir alertas por regra
Uma consulta de exemplo para definir alertas em todas as regras de qualidade de dados com falha usando o nome da regra personalizada especificada para uma verificação de qualidade de dados:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.ruleName="custom-name" AND jsonPayload.result="FAILED"
Uma consulta de exemplo para definir alertas em todas as regras de qualidade de dados com falha de um tipo de avaliação específico para uma verificação de qualidade de dados:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.evalutionType="PER_ROW" AND jsonPayload.result="FAILED"
Uma consulta de exemplo para definir alertas em todas as regras de qualidade de dados com falha para uma coluna na tabela usada em uma verificação de qualidade de dados:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.column="CInteger" AND jsonPayload.result="FAILED"
Resolver problemas de falha na qualidade de dados
Para cada job com regras no nível da linha que falham, o Dataplex Universal Catalog fornece uma consulta para receber os registros com falha. Execute esta consulta para conferir os registros que não corresponderam à sua regra.
Console
No console do Google Cloud , acesse a página Qualidade dos dados.
Clique no nome da verificação com os registros que você quer resolver.
Clique na guia Histórico de jobs.
Clique no ID do job que identificou falhas na qualidade dos dados.
Na janela de resultados do job que é aberta, na seção Regras, encontre a coluna Consulta para receber registros com falha. Clique em Copiar consulta para a área de transferência na regra com falha.
Execute a consulta no BigQuery para conferir os registros que causaram a falha do job.
gcloud
Incompatível.
REST
Use o APIs Explorer para ver a consulta para receber registros com falha de jobs que falharam.
Atualizar uma verificação de qualidade de dados
É possível editar várias configurações de uma verificação de qualidade de dados, como o nome de exibição, os filtros e a programação.
Console
No console do Google Cloud , acesse a página Qualidade de dados.
Na linha com a verificação que você quer editar, clique nos três pontos verticais > Editar.
Edite os valores.
Clique em Salvar.
gcloud
Para atualizar a descrição de uma verificação de qualidade de dados, use o
comando gcloud dataplex datascans update data-quality
:
gcloud dataplex datascans update data-quality DATASCAN \ --location=LOCATION \ --description=DESCRIPTION
Substitua:
DATASCAN
: o nome da verificação de qualidade de dados a ser atualizada.LOCATION
: a região Google Cloud em que a verificação de qualidade de dados foi criada.DESCRIPTION
: a nova descrição da verificação de qualidade de dados.
REST
Use o APIs Explorer para editar sua verificação de qualidade de dados.
Excluir uma verificação de qualidade de dados
Console
No console do Google Cloud , acesse a página Qualidade dos dados.
Clique na verificação que você quer excluir.
Clique em Excluir.
gcloud
Para excluir uma verificação de qualidade de dados, use o
comando gcloud dataplex datascans delete
:
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
Substitua as seguintes variáveis:
DATASCAN
: o nome da verificação de qualidade de dados a ser excluída.LOCATION
: a região Google Cloud em que a verificação de qualidade de dados foi criada.
REST
Use o APIs Explorer para excluir sua verificação de qualidade de dados.
A seguir
- Saiba mais sobre a criação de perfil de dados.
- Saiba como usar a criação de perfil de dados.
- Siga um tutorial para gerenciar regras de qualidade de dados como código com o Terraform.