Usar a qualidade de dados automática

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

  1. Ative a API Dataplex.

    Ativar a API

  2. 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ão dataplex.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 DataScans
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 discount_pct é maior que 30% para todas as moedas aceitas atualmente.

O filtro de data transaction_timestamp >= current_date() é aplicado como um filtro de linha na tabela da fonte de dados.

O parâmetro de referência de dados ${data()} atua como um substituto de my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date() e aplica o filtro de linha.

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

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. Clique em Criar verificação de qualidade de dados.

  3. Na janela Definir verificação, preencha os seguintes campos:

    1. Insira um Nome de exibição.

    2. O ID da verificação é gerado automaticamente se você não fornecer um ID próprio. Consulte a convenção de nomenclatura de recursos.

    3. Opcional: digite uma Descrição.

    4. 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.

    5. 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 ou TIMESTAMP na tabela do BigQuery que aumenta monotonicamente e pode ser usada para identificar novos registros. Pode ser uma coluna que particiona a tabela.
    6. Opcional: adicione rótulos. Rótulos são pares key:value que permitem agrupar objetos relacionados entre si ou com outros recursos Google Cloud .

    7. 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.

    8. 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.

    9. 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.

    10. Clique em Continuar.

  4. 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.

  5. 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.

      1. Escolher colunas: selecione as colunas para receber regras recomendadas.

      2. 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.

      3. Escolher resultados de perfil: com base nas colunas e no projeto selecionados, vários resultados de perfil aparecem.

      4. Selecione um ou mais resultados de perfil e clique em OK. Isso preenche uma lista de regras para você escolher.

      5. 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.

      1. Escolher colunas: selecione as colunas para as quais você quer selecionar regras.

      2. Escolher tipos de regra: com base nas colunas selecionadas, vários tipos de regra aparecem para seleção.

      3. Selecione um ou mais tipos de regra e clique em OK. Isso preenche uma lista de regras para você escolher.

      4. 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).

      1. Em Dimensão, escolha uma opção.

      2. Em Limite de aprovação, escolha uma porcentagem de registros que precisam passar na verificação.

      3. Em Nome da coluna, escolha uma coluna.

      4. No campo Forneça uma expressão SQL, insira uma expressão SQL que seja avaliada como um booleano true (aprovação) ou false (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.

      5. Clique em Adicionar.

    • Regra de verificação agregada do SQL: crie uma regra de condição de tabela SQL personalizada.

      1. Em Dimensão, escolha uma opção.

      2. Em Nome da coluna, escolha uma coluna.

      3. No campo Forneça uma expressão SQL, insira uma expressão SQL que seja avaliada como um booleano true (aprovação) ou false (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.

      4. 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.

      1. Em Dimensão, escolha uma opção.

      2. Opcional: em Nome da coluna, escolha uma coluna.

      3. 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.

      4. 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.

  6. 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.

  7. 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.
  8. 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 prefixo gs://. 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

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. Clique na verificação de qualidade de dados para executar.

  3. 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

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. 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.

  3. 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, especifique FULL.

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

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. Clique no nome de uma verificação.

  3. 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.

  4. 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:

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. Clique na verificação de qualidade de dados cujos resultados você quer compartilhar.

  3. Acesse a guia Permissões.

  4. Clique em Conceder acesso.

  5. No campo Novos principais, adicione a principal a que você quer conceder acesso.

  6. No campo Selecionar um papel, escolha Leitor de dados do DataScan Dataplex.

  7. Clique em Salvar.

Para remover o acesso aos resultados publicados de uma verificação para um principal, siga estas etapas:

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. Clique na verificação de qualidade de dados cujos resultados você quer compartilhar.

  3. Acesse a guia Permissões.

  4. Selecione o principal para o qual você quer remover a função Dataplex DataScan DataViewer.

  5. Clique em Remover acesso.

  6. 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

  1. No console Google Cloud , acesse o Explorador de registros do Cloud Logging.

    Acessar o "Explorador de registros"

  2. Na janela Consulta, digite sua consulta. Confira exemplos de consultas.

  3. Selecione Executar consulta.

  4. Clique em Criar alerta. Isso abre um painel lateral.

  5. Insira o nome da política de alertas e clique em Próxima.

  6. Revise a consulta.

    1. Clique no botão Visualizar registros para testar a consulta. Isso mostra registros com condições correspondentes.

    2. Clique em Próxima.

  7. Defina o tempo entre as notificações e clique em Próxima.

  8. 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

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. Clique no nome da verificação com os registros que você quer resolver.

  3. Clique na guia Histórico de jobs.

  4. Clique no ID do job que identificou falhas na qualidade dos dados.

  5. 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.

  6. 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

  1. No console do Google Cloud , acesse a página Qualidade de dados.

    Acessar "Qualidade de dados"

  2. Na linha com a verificação que você quer editar, clique nos três pontos verticais > Editar.

  3. Edite os valores.

  4. 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

  1. No console do Google Cloud , acesse a página Qualidade dos dados.

    Acessar "Qualidade de dados"

  2. Clique na verificação que você quer excluir.

  3. 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