As empresas coletam cada vez mais dados todos os dias para impulsionar processos como tomada de decisões, relatórios e aprendizado de máquina (ML). Antes de limpar e transformar seus dados, você precisa determinar se eles são adequados para uso. Dados incorretos, ausentes ou malformados podem ter grandes impactos na análise downstream e nos processos de ML. A realização de verificações de qualidade de dados ajuda a identificar problemas mais cedo em seu fluxo de trabalho para que você possa resolvê-los mais rapidamente. Além disso, fazer essas verificações usando uma arquitetura baseada em eventos ajuda a reduzir os pontos de contato manuais e dimensionar com quantidades crescentes de dados.
Produção de dados do AWS Glue é uma ferramenta visual de preparação de dados que facilita a localização de estatísticas de qualidade de dados, como valores duplicados, valores ausentes e valores discrepantes em seus dados. Você também pode configurar regras de qualidade de dados no DataBrew para realizar verificações condicionais com base em suas necessidades comerciais exclusivas. Por exemplo, um fabricante pode precisar garantir que não haja valores duplicados especificamente em um Part ID
coluna, ou um profissional de saúde pode verificar esses valores em uma SSN
coluna têm um certo comprimento. Depois de criar e validar essas regras com DataBrew, você pode usar Amazon Event Bridge, Funções de etapa da AWS, AWS Lambda e Serviço de notificação simples da Amazon (Amazon SNS) para criar um fluxo de trabalho automatizado e enviar uma notificação quando uma regra falhar na verificação de validação.
Neste post, orientamos você pelo fluxo de trabalho de ponta a ponta e como implementar essa solução. Este post inclui um tutorial passo a passo, um Modelo de aplicativo sem servidor da AWS (AWS SAM) e código de exemplo que você pode usar para implantar o aplicativo em seu próprio ambiente da AWS.
Visão geral da solução
A solução neste post combina sem servidor Serviços da AWS para criar um pipeline totalmente automatizado e orientado a eventos de ponta a ponta para validação de qualidade de dados. O diagrama a seguir ilustra nossa arquitetura de solução.
O fluxo de trabalho da solução contém as seguintes etapas:
- Quando você carrega novos dados para o seu Serviço de armazenamento simples da Amazon (Amazon S3), os eventos são enviados para EventBridge.
- Uma regra EventBridge aciona a execução de uma máquina de estado do Step Functions.
- A máquina de estado inicia um trabalho de perfil DataBrew, configurado com um conjunto de regras e regras de qualidade de dados. Se você estiver pensando em criar uma solução semelhante, o local de saída do trabalho do perfil DataBrew e os buckets do S3 de dados de origem devem ser exclusivos. Isso evita execuções de trabalhos recursivos. Implantamos nossos recursos com um Formação da Nuvem AWS template, que cria buckets S3 exclusivos.
- Uma função do Lambda lê os resultados de qualidade de dados do Amazon S3 e retorna uma resposta booleana na máquina de estado. A função retorna
false
se uma ou mais regras no conjunto de regras falharem e retornartrue
se todas as regras forem bem-sucedidas. - Se a resposta booleana for
false
, a máquina de estado envia uma notificação por e-mail com o Amazon SNS e a máquina de estado termina em umfailed
status. Se a resposta booleana fortrue
, a máquina de estado termina em umsucceed
status. Você também pode estender a solução nesta etapa para executar outras tarefas em caso de sucesso ou falha. Por exemplo, se todas as regras forem bem-sucedidas, você poderá enviar uma mensagem EventBridge para acionar outro trabalho de transformação no DataBrew.
Nesta postagem, você usa o AWS CloudFormation para implantar uma demonstração totalmente funcional da solução de validação de qualidade de dados orientada a eventos. Você testa a solução fazendo upload de um arquivo de valores separados por vírgula (CSV) válido para o Amazon S3, seguido por um arquivo CSV inválido.
As etapas são as seguintes:
- Inicie uma pilha do CloudFormation para implantar os recursos da solução.
- Teste a solução:
- Faça upload de um arquivo CSV válido para o Amazon S3 e observe a validação da qualidade de dados e a máquina de estado do Step Functions com êxito.
- Faça upload de um arquivo CSV inválido para o Amazon S3 e observe a validação da qualidade de dados e a falha da máquina de estado do Step Functions e receba uma notificação por e-mail do Amazon SNS.
Todo o código de exemplo pode ser encontrado no Repositório GitHub.
Pré-requisitos
Para este passo a passo, você deve ter os seguintes pré-requisitos:
Implante os recursos da solução usando o AWS CloudFormation
Você usa uma pilha do CloudFormation para implantar os recursos necessários para a solução de validação de qualidade de dados orientada a eventos. A pilha inclui um conjunto de dados de exemplo e um conjunto de regras no DataBrew.
- Faça login na sua conta da AWS e escolha Pilha de Lançamento:
- No Pilha de criação rápida página, para Endereço de e-mail, insira um endereço de e-mail válido para notificações por e-mail do Amazon SNS.
- Deixe as opções restantes definidas para os padrões.
- Marque as caixas de seleção de confirmação.
- Escolha Crie uma pilha.
A pilha do CloudFormation leva cerca de 5 minutos para chegar CREATE_COMPLETE
estado.
- Verifique a caixa de entrada do endereço de e-mail fornecido e aceite a assinatura do SNS.
Você precisa revisar e aceitar a confirmação da assinatura para demonstrar o recurso de notificação por email no final do passo a passo.
No Saídas guia da pilha, você pode encontrar as URLs para navegar pelos recursos DataBrew e Step Functions que o modelo criou. Observe também os comandos concluídos da AWS CLI que você usa nas etapas posteriores.
Se você escolher o AWSGlueDataBrewRuleset
link de valor, você deverá ver a página de detalhes do conjunto de regras, como na captura de tela a seguir. Neste passo a passo, criamos um conjunto de regras de qualidade de dados com três regras que verificam valores ausentes, valores discrepantes e comprimento de string.
Teste a solução
Nas etapas a seguir, você usa a AWS CLI para fazer upload de versões corretas e incorretas do arquivo CSV para testar a solução de validação de qualidade de dados orientada a eventos.
- Abra um terminal ou prompt de linha de comando e use a AWS CLI para fazer download de dados de amostra. Use o comando da saída da pilha do CloudFormation com o nome da chave
CommandToDownloadTestData
: - Use a AWS CLI novamente para fazer upload do arquivo CSV inalterado para o bucket do S3. Substitua a corda com o nome do seu bucket ou copie e cole o comando fornecido a você na saída do modelo do CloudFormation:
- No console do Step Functions, localize a máquina de estado criada pelo modelo do CloudFormation.
Você pode encontrar uma URL nas saídas do CloudFormation observadas anteriormente.
- No Execuções guia, você deverá ver uma nova execução da máquina de estado.
- Escolha a URL da execução para visualizar o gráfico da máquina de estado e monitorar seu progresso.
A imagem a seguir mostra o fluxo de trabalho de nossa máquina de estado.
Para demonstrar a falha de uma regra de qualidade de dados, você faz pelo menos uma edição no votes.csv
arquivo.
- Abra o arquivo em seu editor de texto ou ferramenta de planilha preferida e exclua apenas uma célula.
Nas capturas de tela a seguir, uso o editor GNU nano no Linux. Você também pode usar um editor de planilhas para excluir uma célula. Isso faz com que a regra "Verificar valores ausentes em todas as colunas" falhe.
A captura de tela a seguir mostra o arquivo CSV antes da modificação.
A captura de tela a seguir mostra o arquivo CSV alterado.
- Salve o editado
votes.csv
arquivo e retorne ao seu prompt de comando ou terminal. - Use a AWS CLI para fazer upload do arquivo para o bucket do S3 mais uma vez. Você usa o mesmo comando de antes:
- No console do Step Functions, navegue até a execução da máquina de estado mais recente para monitorá-la.
A validação de qualidade de dados falha, acionando uma notificação por email do SNS e a falha da execução geral da máquina de estado.
A imagem a seguir mostra o fluxo de trabalho da máquina de estado com falha.
A captura de tela a seguir mostra um exemplo do e-mail do SNS.
- Você pode investigar a falha da regra no console do DataBrew escolhendo o
AWSGlueDataBrewProfileResults
valor nas saídas da pilha do CloudFormation.
limpar
Para evitar cobranças futuras, exclua os recursos. No console do AWS CloudFormation, exclua a pilha chamada AWSBigDataBlogDataBrewDQSample
.
Conclusão
Nesta postagem, você aprendeu como criar pipelines de validação de qualidade de dados automatizados e orientados a eventos. Com o DataBrew, você pode definir regras de qualidade de dados, limites e conjuntos de regras para seus requisitos técnicos e de negócios. Step Functions, EventBridge e Amazon SNS permitem que você crie pipelines complexos com tratamento de erros personalizável e alertas adaptados às suas necessidades.
Você pode aprender mais sobre esta solução e o código-fonte visitando o Repositório GitHub. Para saber mais sobre as regras de qualidade de dados do DataBrew, visite O AWS Glue DataBrew agora permite que os clientes criem regras de qualidade de dados para definir e validar seus requisitos de negócios ou consulte Validação da qualidade de dados no AWS Glue DataBrew.
Sobre os autores
Laith Al-Saadoon é Arquiteto Principal de Prototipagem na equipe de Engenharia da Envision. Ele cria protótipos e soluções usando IA, aprendizado de máquina, IoT e computação de ponta, análise de streaming, robótica e computação espacial para resolver problemas de clientes do mundo real. Em seu tempo livre, Laith gosta de atividades ao ar livre, como fotografia, voos de drone, caminhadas e paintball.
Gordon Burgess é gerente de produto sênior do AWS Glue DataBrew. Ele é apaixonado por ajudar os clientes a descobrir insights de seus dados e se concentra na criação de experiências do usuário e funcionalidades avançadas para produtos de análise. Fora do trabalho, Gordon gosta de ler, tomar café e construir computadores.
- '
- &
- 100
- 107
- 7
- Sobre
- Conta
- atividades
- endereço
- AI
- Todos os Produtos
- Amazon
- analítica
- Aplicação
- arquitetura
- Automatizado
- AWS
- construir
- Prédio
- negócio
- acusações
- Cheques
- Limpeza
- código
- Café
- Coluna
- integrações
- computadores
- computação
- cônsul
- Clientes
- dados,
- qualidade de dados
- dia
- descobrir
- zangão
- borda
- computação de borda
- editor
- termina
- Engenharia
- Meio Ambiente
- eventos
- exemplo
- Experiências
- Falha
- mais rápido
- Característica
- caber
- Voos
- encontrado
- Gratuito
- função
- funções
- futuro
- Crescente
- Manipulação
- saúde
- ajuda
- caminhadas
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- identificar
- imagem
- executar
- insights
- investigar
- iot
- questões
- IT
- Trabalho
- Chave
- grande
- mais recente
- APRENDER
- aprendido
- aprendizagem
- Line
- LINK
- linux
- localização
- aprendizado de máquina
- Fabricante
- ML
- mais
- nano
- necessário
- notificação
- Opções
- ordem
- Outros
- Outdoor
- fotografia
- Diretor
- Produto
- Produtos
- Perfil
- prototipagem
- provedor
- qualidade
- Leitura
- reduzir
- substituir
- Requisitos
- Recursos
- resposta
- Resultados
- Retorna
- rever
- robótica
- regras
- Execute
- Escala
- Serverless
- Serviços
- conjunto
- semelhante
- simples
- So
- Soluções
- RESOLVER
- Espacial
- computação espacial
- especificamente
- Planilha
- Estado
- estatística
- Status
- armazenamento
- de streaming
- tudo incluso
- sucesso
- Dados Técnicos:
- terminal
- teste
- A fonte
- Através da
- tempo
- ferramenta
- Transformação
- transformando
- tutorial
- valor
- Ver
- Atividades:
- de gestão de documentos