Tabela Histórico de qualidade dos dados
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
CREATE TABLE `historico_qualidade_dado` ( `id_qualidade` int NOT NULL AUTO_INCREMENT, `completude` decimal(5,2) NOT NULL, `unicidade` decimal(5,2) NOT NULL, `validade` decimal(5,2) NOT NULL, `consistencia` decimal(5,2) NOT NULL, `data_avaliacao` datetime NOT NULL, `id_dicionario` int NOT NULL, PRIMARY KEY (`id_qualidade`), KEY `fk_historico_qualidade_dicionario` (`id_dicionario`), CONSTRAINT `fk_historico_qualidade_dicionario` FOREIGN KEY (`id_dicionario`) REFERENCES `dicionario` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; |
- completude – percentual de valores não nulos em campos essenciais.
- unicidade – ausência de duplicatas em chaves primárias.
- validade – conformidade com tipos, formatos e domínios.
- consistência – coerência entre diferentes fontes ou tabelas.
- data_avaliacao – data de avaliação
A cada extração avaliar 4 dimenções do DataSet
Utilizar o Analyzers PyDeequ para calcular
| Dimensão | Analyzer PyDeequ | Exemplo de saída |
|---|---|---|
| Completude | Completeness(column) |
Proporção de não nulos (0~1) |
| Unicidade | Uniqueness(column) |
Proporção de valores únicos (0~1) |
| Validade | Compliance / PatternMatch |
Proporção que atende à regra |
| Consistência | Correlation(col1, col2) |
Coeficiente de correlação |
Salvar a avaliação na tabela historico_qualidade_dado com a data
Futuramente quando já tivermos várias cargas registradas na tabela historico_qualidade_dado poderemos calcular :
| Dimensão | Analyzer PyDeequ | Exemplo de saída |
|---|---|---|
| Distribuição | ApproxQuantile / Histogram |
Quantis ou buckets |
| Informação | Entropy(column) |
Valor de entropia |
Estas duas dimenções são calculos estatisticos que precisam de um histórico para ser calculado.