Quero solucionar problemas com as regras e conjuntos de regras do AWS Glue Data Quality.
Resolução
Você pode enfrentar os seguintes problemas com as regras e conjuntos de regras do AWS Glue Data Quality:
- Seu mapa principal não é adequado para o quadro de dados.
- O valor que você definiu não atende ao requisito de restrição.
- Há expressões regulares incorretas nas regras de validação de coluna.
- Seu trabalho do AWS Glue Data Quality é executado lentamente.
- O objeto do AWS Glue não tem o atributo start_data_quality_rule_recommendation_run.
Conclua as seguintes ações que correspondem ao seu problema.
Seu mapa principal não é adequado para o quadro de dados
Você recebe a seguinte mensagem de erro ao executar uma regra DatasetMatch:
"Provided Key Map Not Suitable for Given DataFrames"
Para solucionar esse problema, execute as seguintes ações:
- Verifique se as chaves de junção são exclusivas nos conjuntos de dados primários e de referência. As chaves de junção devem ser chaves primárias que não contenham duplicatas.
- Verifique se as colunas principais não contêm valores NULL.
- (Opcional) Use um conjunto de dados diferente que inclua colunas principais limpas.
No exemplo de regra DatasetMatch a seguir, example_a e example_b devem conter somente valores exclusivos que não sejam NULL:
Rules = [
DatasetMatch "reference" "example_a,example_b" = 1
]
O valor que você definiu não atende ao requisito de restrição
Você recebe a seguinte mensagem de erro ao executar uma verificação de qualidade de dados:
"Value does not meet constraint requirement"
Para solucionar esse problema, execute as seguintes ações:
- Analise a configuração da regra e verifique se as restrições nos valores da coluna correspondem às características dos dados. Por exemplo, se você verificar a exclusividade dos dados, certifique-se de que não haja valores duplicados na coluna.
- Certifique-se de que os dados que você verifica sigam o formato especificado pela regra.
- Limpe o conjunto de dados para que ele atenda às restrições especificadas pela regra.
No exemplo de regra DatasetMatch a seguir, example_a deve conter somente valores exclusivos que não sejam NULL:
Rules = [
DatasetMatch "reference" "example_a,example_a" = 1
]
Existem expressões regulares incorretas nas regras de validação de coluna
Use as práticas recomendadas a seguir ao usar as regras ColumnValues para validar os formatos das colunas:
-
Use expressões regulares que correspondam ao seu formato de dados. O exemplo de regra a seguir corresponde a datas formatadas como aaaa-mm-dd e aaaa/mm/dd:
Rules = [
ColumnValues "test_date" matches "^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"
]
No entanto, o exemplo de regra a seguir corresponde somente às datas formatadas como aaaa-mm-dd:
Rules = [
ColumnValues "test_date" matches "^(19|20)\d\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])"
]
-
Antes de aplicar expressões regulares, use ferramentas on-line ou bibliotecas Python para testar suas expressões regulares em relação a dados de exemplo.
-
Certifique-se de que sua expressão regular corresponda ao formato de coluna esperado. Ajuste o padrão para que ele inclua vários formatos.
Seu trabalho do AWS Glue Data Quality é executado lentamente
Se você tiver um desempenho lento ao executar um trabalho do AWS Glue Data Quality, execute as seguintes ações:
O objeto do AWS Glue não tem o atributo 'start_data_quality_rule_recommendation_run'"
Você recebe a seguinte mensagem de erro:
"AttributeError: 'Glue' object has no attribute "start_data_quality_rule_recommendation_run""
Se seu objeto do AWS Glue não tiver o atributo start_data_quality_rule_recommendation_run, adicione o seguinte par de valores-chave aos parâmetros do seu trabalho:
Key: —additional-python-modules
Value: boto3==1.28.26
Informações relacionadas
Como faço para criar regras do AWS Glue Data Quality e otimizar seu desempenho?