Usar a qualidade de dados automática

Nesta página, descrevemos como criar uma verificação de qualidade de dados do Dataplex Universal Catalog.

Para saber mais sobre as verificações de qualidade de dados, consulte Sobre a qualidade de dados automática.

Antes de começar

  1. Enable the Dataplex API.

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

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 Universal Catalog do Dataplex o papel de Leitor de objetos do Storage (roles/storage.objectViewer) 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: na mesa
    • bigquery.tables.update: na mesa
    • bigquery.tables.updateData: na mesa
    • bigquery.tables.delete: na mesa
    • dataplex.entryGroups.useDataQualityScorecardAspect no grupo de entradas @bigquery

    Ou você precisa de todas as seguintes permissões:

    • dataplex.entries.update no grupo de entradas @bigquery
    • dataplex.entryGroups.useDataQualityScorecardAspect no grupo de entradas @bigquery
  • 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, peça ao administrador para conceder a você um dos seguintes papéis do IAM:

  • Acesso total aos recursos DataScan: administrador do DataScan Dataplex (roles/dataplex.dataScanAdmin)
  • Para criar recursos DataScan: criador de DataScan do Dataplex (roles/dataplex.dataScanCreator) no projeto
  • 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)

A tabela a seguir lista as permissões DataScan:

Nome da permissão Concede permissão para as seguintes ações:
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

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 dela 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 BigQuery ML predict 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. Esse arquivo YAML também contém outras especificações para a verificação de qualidade de dados, como filtros e porcentagem de amostragem. Ao usar a CLI gcloud para criar ou atualizar uma verificação de qualidade de dados, é possível usar um arquivo YAML como este como entrada para o argumento --data-quality-spec-file.

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
samplingPercent: 50
rowFilter: discount_pct > 100
postScanActions:
  bigqueryExport:
    resultsTable: projects/my_project_id/datasets/dim_dataset/tables/dim_currency
  notificationReport:
    recipients:
      emails:
      - '222larabrown@gmail.com'
      - 'cloudysanfrancisco@gmail.com'
    scoreThresholdTrigger:
      scoreThreshold: 50
    jobFailureTrigger: {}
    jobEndTrigger: {}
catalogPublishingEnabled: true

Criar uma verificação de qualidade de dados

Console

  1. No console Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento de dados"

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

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

    1. Opcional: insira um Nome de exibição.

    2. Insira um ID. Consulte as convenções de nomenclatura de recursos.

    3. Opcional: digite uma Descrição.

    4. No campo Tabela, clique em Procurar. Escolha a tabela para verificar e clique em Selecionar. Somente tabelas padrão do BigQuery são compatíveis.

      Para tabelas em conjuntos de dados multirregionais, escolha uma região em que a verificação de dados será criada.

      Para procurar as tabelas organizadas nos lakes do Dataplex Universal Catalog, clique em Procurar dentro de lakes do Dataplex.

    5. No campo Escopo, escolha Incremental ou Dados completos.

      • 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 à medida que novos registros são adicionados e que pode ser usada para identificar novos registros. Essa coluna pode ser uma que particiona a tabela.
    6. Para filtrar seus dados, marque a caixa de seleção Filtrar linhas. Forneça um filtro de linha que consiste em 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.

    7. 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%, a verificação de qualidade de dados vai amostrar entre 1 e 10 TB de dados. Para verificações incrementais de dados, a verificação de qualidade de dados aplica amostragem ao incremento mais recente.

    8. Para publicar os resultados da verificação de qualidade de dados como metadados do Dataplex Universal Catalog, 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 da verificação publicada, consulte a seção Conceder acesso aos resultados da verificação de perfil de dados deste documento.

    9. Na seção Programação, escolha uma das seguintes opções:

      • Repetir: execute a verificação de qualidade de dados em uma programação: por hora, 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 a verificação da qualidade de dados sob demanda.

    10. Clique em Continuar.

  4. Na janela Regras de qualidade de dados, defina as regras a serem configuradas para essa verificação de qualidade de dados.

    1. 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. Escolher projeto de verificação: se a verificação de criação de perfil de dados estiver em um projeto diferente daquele em que você está criando a verificação de qualidade de dados, selecione o projeto para extrair as verificações de perfil.

        3. Escolher resultados de perfil: selecione um ou mais resultados de perfil e clique em OK. Isso preenche uma lista de regras sugeridas que você pode usar como ponto de partida.

        4. Marque a caixa de seleção das regras que você quer adicionar e clique em Selecionar. Depois de selecionadas, as regras são adicionadas à sua lista 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: selecione os tipos de regra que você quer escolher e clique em OK. Os tipos de regra que aparecem dependem das colunas selecionadas.

        3. Marque a caixa de seleção das regras que você quer adicionar e clique em Selecionar. Depois de selecionadas, as regras são adicionadas à sua lista de regras atual. Em seguida, edite as regras.

      • Regra de verificação de linhas SQL: crie uma regra SQL personalizada para aplicar a cada linha.

        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 SQL personalizadas compatíveis e os exemplos em Definir regras de qualidade de dados.

        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 SQL personalizadas compatíveis e os exemplos em Definir regras de qualidade de dados.

        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 correspondentes 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 compatíveis e os exemplos em Definir regras de qualidade de dados.

        4. Clique em Adicionar.

    2. Opcional: para qualquer regra de qualidade de dados, é possível atribuir um nome personalizado para usar no monitoramento e nos alertas, além de uma descrição. 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.
    3. Repita as etapas anteriores para adicionar mais regras à verificação da qualidade de dados. Quando terminar, clique em Continuar.

  5. 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, faça o seguinte:

    1. No campo Selecionar conjunto de dados do BigQuery, clique em Procurar. Selecione um conjunto de dados do BigQuery para armazenar os resultados da verificação de qualidade de dados.

    2. No campo Tabela do BigQuery, especifique a tabela para armazenar os resultados da verificação de qualidade de dados. Se você estiver usando uma tabela, verifique se ela é compatível com o esquema da tabela de exportação. Se a tabela especificada não existir, o Dataplex Universal Catalog vai criá-la.

  6. Opcional: adicione rótulos. Rótulos são pares de chave-valor que permitem agrupar objetos relacionados entre si ou com outros recursos do Google Cloud .

  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 lake do Dataplex Universal Catalog, 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 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 e o exemplo de representação YAML.
  • 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

Para criar uma verificação de qualidade de dados, use o método dataScans.create.

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 nullable //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string nullable dataplex-back-end-dev-project
location string nullable us-central1
data_scan_id string nullable test-datascan
data_source struct/record resource_name string nullable 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 nullable dataplex-back-end-dev-project
dataplex_entity_project_number integer nullable 123456789
dataplex_lake_id string nullable (Válido apenas se a origem for uma entidade)
test-lake
dataplex_zone_id string nullable (Válido apenas se a origem for uma entidade)
test-zone
dataplex_entity_id string nullable (Válido apenas se a origem for uma entidade)
test-entity
table_project_id string nullable test-project
table_project_number integer nullable 987654321
dataset_id string nullable (Válido apenas se a origem for uma tabela)
test-dataset
table_id string nullable (Válido apenas se a origem for uma tabela)
test-table
data_quality_job_id string nullable caeba234-cfde-4fca-9e5b-fe02a9812e38
data_quality_job_configuration json trigger string nullable ondemand/schedule
incremental boolean nullable true/false
sampling_percent float nullable (0-100)
20.0 (indica 20%)
row_filter string nullable col1 >= 0 AND col2 < 10
job_labels json nullable {"key1":value1}
job_start_time timestamp nullable 2023-01-01 00:00:00 UTC
job_end_time timestamp nullable 2023-01-01 00:00:00 UTC
job_rows_scanned integer nullable 7500
rule_name string nullable test-rule
rule_type string nullable Range Check
rule_evaluation_type string nullable Per row
rule_column string nullable Rule only attached to a certain column
rule_dimension string nullable UNIQUENESS
job_quality_result struct/record passed boolean nullable true/false
score float nullable 90.8
job_dimension_result json nullable {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
rule_threshold_percent float nullable (0.0-100.0)
Rule-threshold-pct in API * 100
rule_parameters json nullable {min: 24, max:5345}
rule_pass boolean nullable True
rule_rows_evaluated integer nullable 7400
rule_rows_passed integer nullable 3
rule_rows_null integer nullable 4
rule_failed_records_query string nullable "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 nullable 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 não houver uma tabela após criar ou atualizar a verificação, 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 Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento 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

Para executar uma verificação de qualidade de dados, use o método dataScans.run.

Ver os resultados da verificação de qualidade de dados

Console

  1. No console Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento de dados"

  2. Clique no nome de uma verificação da qualidade de dados.

    • A seção Visão geral mostra informações sobre os jobs mais recentes, 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 e, em caso de falhas, o número de verificações que falharam.

    • A seção Configuração da verificação de qualidade de dados mostra detalhes sobre a verificação.

  3. Para ver informações detalhadas sobre um job, como pontuações de qualidade de dados que indicam a porcentagem de regras aprovadas, as regras com falha e os registros do job, 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

Para ver os resultados de uma verificação de qualidade de dados, use o método dataScans.get.

Ver resultados publicados

Se os resultados da verificação de qualidade de dados forem publicados como metadados do Catálogo Universal do Dataplex, você poderá conferir os resultados mais recentes nas páginas do BigQuery e do Catálogo Universal do Dataplex no consoleGoogle Cloud , na guia Qualidade de dados da tabela de origem.

  1. No console Google Cloud , acesse a página Pesquisa do Universal Catalog do Dataplex.

    Acesse Pesquisar

  2. Pesquise e selecione a tabela.

  3. Clique na guia Qualidade dos dados.

    Os resultados publicados mais recentes são mostrados.

Ver o histórico de resultados das verificações

O Dataplex Universal Catalog salva o histórico de verificação de qualidade de dados dos últimos 300 jobs ou do último ano, o que ocorrer primeiro.

Console

  1. No console Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento de dados"

  2. Clique no nome de uma verificação da qualidade de dados.

  3. Clique na guia Histórico de jobs.

    A guia Histórico de jobs fornece informações sobre jobs anteriores, como o número de registros verificados em cada job, o status do job, a hora em que ele foi executado e se cada regra foi aprovada ou reprovada.

  4. Para ver informações detalhadas sobre um job, clique em qualquer um deles na coluna ID do job.

gcloud

Para conferir os jobs de verificação de qualidade de dados históricos, 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 da qualidade de dados para visualizar jobs históricos.

REST

Para conferir os jobs históricos de verificação da qualidade de dados, use o método dataScans.jobs.list.

Conceder acesso aos resultados da verificação de qualidade de dados

Para permitir que os usuários da sua organização vejam os resultados da verificação, faça o seguinte:

  1. No console Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento de dados"

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

  3. Clique na guia Permissões.

  4. Faça o seguinte:

    • Para conceder acesso a um principal, clique em Conceder acesso. Conceda o papel Leitor de dados do DataScan Dataplex ao principal associado.
    • Para remover o acesso de um principal, selecione o principal de quem você quer remover o papel Leitor de dados do DataScan do Dataplex. Clique em Remover acesso e confirme quando solicitado.

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

Para mais informações sobre como definir alertas no Cloud Logging, consulte Criar uma política de alertas com base em registros usando a API Monitoring.

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 Dataplex Universal Catalog:

      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 na qualidade dos dados de uma tabela do BigQuery organizada em um lake do Dataplex Universal Catalog:

      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 Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento de dados"

  2. Clique no nome da verificação de qualidade de dados cujos registros 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

  1. Para receber o job que identificou falhas na qualidade dos dados, use o método dataScans.get.

    No objeto de resposta, o campo failingRowsQuery mostra a consulta.

  2. Execute a consulta no BigQuery para conferir os registros que causaram a falha do job.

Gerenciar verificações de qualidade de dados para uma tabela específica

As etapas neste documento mostram como gerenciar verificações de perfil de dados em todo o projeto usando a página Criação de perfil e qualidade de dados do Dataplex Universal Catalog no console Google Cloud .

Também é possível criar e gerenciar verificações de perfil de dados ao trabalhar com uma tabela específica. No console Google Cloud , na página do Universal Catalog do Dataplex para a tabela, use a guia Qualidade de dados. Faça o seguinte:

  1. No console Google Cloud , acesse a página Pesquisa do Universal Catalog do Dataplex.

    Acesse Pesquisar

    Pesquise e selecione a tabela.

  2. Clique na guia Qualidade dos dados.

  3. Dependendo de se a tabela tem uma verificação de qualidade de dados cujos resultados são publicados como metadados do Catálogo Universal do Dataplex, é possível trabalhar com as verificações de qualidade de dados da tabela das seguintes maneiras:

    • Os resultados da verificação de qualidade de dados são publicados: os resultados da verificação mais recente são mostrados na página.

      Para gerenciar as verificações da qualidade de dados dessa tabela, clique em Verificação da qualidade de dados e selecione uma das seguintes opções:

      • Criar nova verificação: crie uma verificação de qualidade de dados. Para mais informações, consulte a seção Criar uma verificação de qualidade de dados deste documento. Quando você cria uma verificação na página de detalhes de uma tabela, ela é pré-selecionada.

      • Executar agora: executa a verificação.

      • Editar configuração de verificação: edite as configurações, incluindo o nome de exibição, os filtros e a programação.

        Para editar as regras de qualidade de dados, clique na guia Qualidade de dados e depois em Regras. Clique em Modificar regras. Atualize as regras e clique em Salvar.

      • Gerenciar permissões de verificação: controle quem pode acessar os resultados da verificação. Para mais informações, consulte a seção Conceder acesso aos resultados da verificação de qualidade de dados deste documento.

      • Ver resultados históricos: confira informações detalhadas sobre jobs anteriores de verificação da qualidade de dados. Para mais informações, consulte as seções Ver resultados da verificação de qualidade de dados e Ver resultados históricos da verificação deste documento.

      • Conferir todas as verificações: veja uma lista de verificações de qualidade de dados que se aplicam a essa tabela.

    • Os resultados da verificação de qualidade de dados não são publicados: selecione uma das seguintes opções:

      • Criar verificação de qualidade de dados: crie uma nova verificação de qualidade de dados. Para mais informações, consulte a seção Criar uma verificação de qualidade de dados deste documento. Quando você cria uma verificação na página de detalhes de uma tabela, ela é pré-selecionada.

      • Conferir verificações atuais: veja uma lista de verificações de qualidade de dados que se aplicam a essa tabela.

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, a programação e as regras de qualidade de dados.

Console

  1. No console Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento de dados"

  2. Clique no nome de uma verificação da qualidade de dados.

  3. Para editar as configurações, incluindo o nome de exibição, os filtros e a programação, clique em Editar. Edite os valores e clique em Salvar.

  4. Para editar as regras de qualidade de dados, na página de detalhes da verificação, clique na guia Regras atuais. Clique em Modificar regras. Atualize as regras e 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

Para editar uma verificação de qualidade de dados, use o método dataScans.patch.

Excluir uma verificação de qualidade de dados

Console

  1. No console Google Cloud , acesse a página Criação de perfil e qualidade de dados do Universal Catalog do Dataplex.

    Acessar "Qualidade e perfilamento de dados"

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

  3. Clique em Excluir e confirme quando solicitado.

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

Para excluir uma verificação de qualidade de dados, use o método dataScans.delete.

A seguir