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á.
Dados agregados no Amazon DynamoDB para previsão de ML no Athena
Criado por Sachin Doshi (AWS) e Peter Molnar (AWS)
Repositório de código: use previsões de ML sobre dados do Amazon DynamoDB com o Amazon | Ambiente: produção | Tecnologias: machine learning e IA; bancos de dados; tecnologia sem servidor |
Workload: código aberto | Serviços da AWS: Amazon Athena; Amazon DynamoDB; AWS Lambda; Amazon; Amazon SageMaker QuickSight |
Resumo
Esse padrão mostra como criar agregações complexas de dados da Internet das Coisas (IoT) em uma tabela do Amazon DynamoDB usando o Amazon Athena. Você também aprende como enriquecer os dados com inferência de aprendizado de máquina (ML) usando a Amazon SageMaker e como consultar dados geoespaciais usando o Athena. Você poderá usar esse padrão como base para criar uma solução de previsão de ML que atenda aos requisitos da sua organização.
Para fins de demonstração, esse padrão usa um cenário de exemplo de uma empresa que opera um compartilhamento de scooters e deseja prever o número ideal de scooters que deverão ser implantados para clientes em diferentes bairros urbanos. A empresa usa um modelo de ML pré-treinado que prevê a demanda do cliente na próxima hora com base nas últimas quatro horas. O cenário usa um conjunto de dados público do Departamento de Inovação e Tecnologia Cívica
Pré-requisitos e limitações
Uma conta AWS ativa
Permissões para criar uma CloudFormation pilha da AWS com funções do AWS Identity and Access Management (IAM) para o seguinte:
Bucket do Amazon Simple Storage Service (Amazon S3)
Athena
DynamoDB
SageMaker
AWS Lambda
Arquitetura
Pilha de tecnologia
Amazon QuickSight
Amazon S3
Athena
DynamoDB
Lambda
SageMaker
Arquitetura de destino
O diagrama a seguir mostra uma arquitetura para criar agregações complexas de dados no DynamoDB usando os recursos de consulta do Athena, uma função Lambda, armazenamento Amazon S3, um endpoint e um painel. SageMaker QuickSight
![](images/pattern-img/4f73abf6-8b06-43a7-a920-bea5ad505a1c/images/c093cb25-1eef-44c0-a069-3ab5e88bee26.png)
O diagrama mostra o seguinte fluxo de trabalho:
Uma tabela do DynamoDB ingere dados de IoT transmitidos de uma frota de patinetes.
Uma função do Lambda carrega a tabela do DynamoDB com os dados ingeridos.
Uma consulta do Athena cria uma nova tabela do DynamoDB para os dados geoespaciais que representam os bairros urbanos.
O local da consulta é salvo em um bucket do S3.
Uma função Athena consulta a inferência de ML do SageMaker endpoint que hospeda o modelo de ML pré-treinado.
O Athena consulta dados diretamente das tabelas do DynamoDB e agrega os dados para análise.
Um usuário visualiza a saída dos dados analisados em um QuickSight painel.
Ferramentas
Ferramentas da AWS
O Amazon Athena é um serviço de consultas interativas que facilita a análise de dados diretamente no Amazon S3 usando SQL padrão.
O Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado que fornece performance rápida, previsível e escalável.
SageMakerA Amazon é um serviço gerenciado de ML que ajuda você a criar e treinar modelos de ML e depois implantá-los em um ambiente hospedado pronto para produção.
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
QuickSightA Amazon é um serviço de inteligência de negócios (BI) em escala de nuvem que ajuda você a visualizar, analisar e relatar seus dados em um único painel.
O AWS Lambda é um serviço de computação que ajuda você a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
Código
O código desse padrão está disponível no repositório GitHub Use ML predictions over Amazon DynamoDB with Amazon Athena
Uma tabela do DynamoDB
Uma função do Lambda para carregar a tabela com dados pertinentes
Um SageMaker endpoint para solicitações de inferência, com o modelo XGBoost pré-treinado que é armazenado no Amazon S3
Um grupo de trabalho do Athena chamado
V2EngineWorkGroup
Consultas Athena nomeadas para pesquisar os shapefiles geoespaciais e prever a demanda de scooters
Um conector pré-construído do Amazon Athena DynamoDB que permite que o Athena se comunique com o DynamoDB e use o AWS Serverless Application Model (AWS SAM)
para criar o aplicativo em referência ao conector do DynamoDB
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma CloudFormation pilha. |
Observação: a CloudFormation pilha pode levar de 15 a 20 minutos para criar esses recursos. | AWS DevOps |
Verifique a CloudFormation implantação. | Para verificar se os dados de amostra do CloudFormation modelo estão carregados no DynamoDB, faça o seguinte:
| Desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma tabela do Athena com dados geoespaciais. | Para carregar os arquivos de geolocalização no Athena, faça o seguinte:
A consulta cria uma nova tabela para os dados geoespaciais que representam os bairros urbanos. A tabela de dados é criada a partir de shapefiles GIS. A instrução Para que o código Python processe arquivos de formato e produza essa tabela, consulte Processamento geoespacial de arquivos de formato GIS com o Amazon Athena | Engenheiro de dados |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Declare uma função no Athena para consulta. SageMaker |
A primeira parte da instrução SQL declara a função externa para consultar inferências de ML do SageMaker endpoint que hospeda o modelo pré-treinado. Então, faça o seguinte:
| Cientista de dados, engenheiro de dados |
Prever a demanda por patinetes por bairro a partir dos dados agregados do DynamoDB. | Agora você poderá usar o Athena para consultar dados transacionais diretamente do DynamoDB e, em seguida, agregar os dados para análise e previsão. Isso não é facilmente alcançado consultando diretamente um banco de dados NoSQL do DynamoDB.
A instrução SQL faz o seguinte:
| Desenvolvedor de aplicativos, cientista de dados |
Verifique a saída. | A tabela de saída inclui o bairro, longitude e latitude do centróide do bairro. Também inclui o número de veículos previstos para a próxima hora. A consulta produz as previsões para um momento selecionado. Você poderá fazer previsões para qualquer outro momento alterando a expressão Se você tiver um feed de dados em tempo real na tabela do DynamoDB, altere o timestamp para | Desenvolvedor de aplicativos, cientista de dados |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Excluir recursos. |
| Desenvolvedor de aplicativos, AWS DevOps |
Recursos relacionados
Fazendo consultas de dados geoespaciais (Guia do usuário do Amazon Athena)
Use previsões de ML sobre dados do Amazon DynamoDB com o Amazon Athena ML
(AWS Big Data Blog) Amazon ElastiCache for Redis
(documentação da AWS) Amazon Neptune
(Documentação da AWS)