CustomSQL - AWS Glue

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

CustomSQL

Esse tipo de regra foi estendido para ser compatível a dois casos de uso:

  • Executar uma instrução SQL personalizada em um conjunto de dados e verificar o valor de retorno em relação a uma dada expressão.

  • Executar uma instrução SQL personalizada na qual você especifica um nome de coluna na instrução SELECT a qual você compara com alguma condição para obter resultados no nível de linha.

Sintaxe

CustomSql <SQL_STATEMENT> <EXPRESSION>
  • SQL_STATEMENT: uma instrução SQL que retorna um único valor numérico entre aspas duplas.

  • EXPRESSION: uma expressão a ser executada na resposta do tipo de regra para produzir um valor booliano. Para ter mais informações, consulte Expressões.

Exemplo: SQL personalizado para recuperar o resultado de uma regra geral

Esse exemplo de regra usa uma instrução SQL para recuperar a contagem de registros de um conjunto de dados. A regra então verifica se a contagem de registros está entre 10 e 20.

CustomSql "select count(*) from primary" between 10 and 20

Exemplo: SQL personalizado para recuperar resultados no nível de linha

Esse exemplo de regra usa uma instrução SQL personalizada na qual você especifica um nome de coluna na instrução SELECT que você compara com alguma condição para obter resultados no nível de linha. Uma expressão de condição limite define um limite de quantos registros devem ser reprovados para que toda a regra seja reprovada. Observe que uma regra pode não conter uma condição e uma palavra-chave juntas.

CustomSql "select Name from primary where Age > 18"

ou

CustomSql "select Name from primary where Age > 18" with threshold > 3
Importante

O alias primary representa o nome do conjunto de dados que você deseja avaliar. Quando você lida com trabalhos visuais do ETL no console, primary sempre representa o DynamicFrame que está sendo passado para a transformação EvaluateDataQuality.apply(). Quando você usa o AWS Glue Data Catalog para executar tarefas de qualidade de dados em uma tabela, primary representa a tabela.

Se você estiver no catálogo de dados do AWS Glue, também poderá usar os nomes reais das tabelas:

CustomSql "select count(*) from database.table" between 10 and 20

Você também pode unir várias tabelas para comparar diferentes elementos de dados:

CustomSql "select count(*) from database.table inner join database.table2 on id1 = id2" between 10 and 20

No AWS Glue ETL, o CustomSQL pode identificar registros que foram reprovados nas verificações de qualidade dos dados. Para que isso funcione, você precisará retornar registros que fazem parte da tabela primária na qual você está avaliando a qualidade dos dados. Os registros retornados como parte da consulta são considerados bem-sucedidos e os registros que não são retornados são considerados reprovados.

A regra a seguir garantirá que registros com idade < 100 sejam identificados como bem-sucedidos e que os registros acima sejam marcados como reprovados.

CustomSql "select id from primary where age < 100"

Essa regra CustomSQL será aprovada quando 50% dos registros tiverem mais de 10 anos e também identificará os registros que foram reprovados. Os registros retornados por esse CustomSQL serão considerados aprovados, enquanto os não retornados serão considerados reprovados.

CustomSQL "select ID, CustomerID from primary where age > 10" with threshold > 0.5

Observação: a regra CustomSQL falhará se você retornar registros que não estão disponíveis no conjunto de dados.