Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aggregieren Sie Daten in Amazon DynamoDB für ML-Prognosen in Athena
Erstellt von Sachin Doshi () und Peter Molnar () AWS AWS
Code-Repository: Verwenden Sie ML-Vorhersagen für Amazon DynamoDB DynamoDB-Daten mit Amazon Athena | Umgebung: Produktion | Technologien: Maschinelles Lernen und KI; Datenbanken; Serverlos |
Arbeitslast: Open Source | AWSDienste: Amazon Athena; Amazon DynamoDB; AWS Lambda; Amazon; Amazon SageMaker QuickSight |
Übersicht
Dieses Muster zeigt Ihnen, wie Sie mithilfe von Amazon Athena komplexe Aggregationen von Internet of Things (IoT) -Daten in einer Amazon DynamoDB-Tabelle erstellen. Sie lernen auch, wie Sie die Daten mithilfe von Amazon mit maschinellem Lernen (ML) anreichern SageMaker und wie Sie mithilfe von Athena Geodaten abfragen. Sie können dieses Muster als Grundlage für die Erstellung einer ML-Prognoselösung verwenden, die den Anforderungen Ihres Unternehmens entspricht.
Zu Demonstrationszwecken verwendet dieses Muster ein Beispielszenario eines Unternehmens, das eine Mitfahrgelegenheit für Roller betreibt und die optimale Anzahl von Rollern vorhersagen möchte, die für Kunden in verschiedenen Stadtvierteln eingesetzt werden müssen. Das Unternehmen verwendet ein vorab trainiertes ML-Modell, das die Kundennachfrage für die nächste Stunde auf der Grundlage der letzten vier Stunden prognostiziert. Das Szenario verwendet einen öffentlichen Datensatz des Office of Civic Innovation & Technology
Voraussetzungen und Einschränkungen
Ein aktiver AWS-Konto
Berechtigungen zum Erstellen eines AWS CloudFormation Stacks mit AWS Identity and Access Management (IAM) -Rollen für Folgendes:
Amazon Simple Storage Service (Amazon S3)-Bucket
Athena
DynamoDB
SageMaker
AWS Lambda
Architektur
Technologie-Stack
Amazon QuickSight
Amazon S3
Athena
DynamoDB
Lambda
SageMaker
Zielarchitektur
Das folgende Diagramm zeigt eine Architektur für die Erstellung komplexer Datenaggregationen in DynamoDB mithilfe der Abfragefunktionen von Athena, einer Lambda-Funktion, Amazon S3 S3-Speicher, eines Endpunkts und eines SageMaker Dashboards. QuickSight
Das Diagramm zeigt den folgenden Workflow:
Eine DynamoDB-Tabelle nimmt IoT-Daten auf, die von einer Flotte von Rollern übertragen werden.
Eine Lambda-Funktion lädt die DynamoDB-Tabelle mit den aufgenommenen Daten.
Eine Athena-Abfrage erstellt eine neue DynamoDB-Tabelle für die Geodaten, die die Stadtviertel repräsentieren.
Der Abfragespeicherort wird in einem S3-Bucket gespeichert.
Eine Athena-Funktion fragt die ML-Inferenz von dem SageMaker Endpunkt ab, der das vortrainierte ML-Modell hostet.
Athena fragt Daten direkt aus den DynamoDB-Tabellen ab und aggregiert die Daten für die Analyse.
Ein Benutzer sieht sich die Ausgabe der analysierten Daten in einem Dashboard an. QuickSight
Tools
AWS-Services
Amazon Athena ist ein interaktiver Abfrageservice, mit dem Sie Daten mithilfe von Standards SQL direkt in Amazon S3 analysieren können.
Amazon DynamoDB ist ein vollständig verwalteter Service ohne SQL Datenbank, der eine schnelle, vorhersehbare und skalierbare Leistung bietet.
Amazon SageMaker ist ein verwalteter ML-Service, der Ihnen hilft, ML-Modelle zu erstellen und zu trainieren und sie dann in einer produktionsbereiten gehosteten Umgebung bereitzustellen.
Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
Amazon QuickSight ist ein Business Intelligence (BI) -Service auf Cloud-Ebene, mit dem Sie Ihre Daten in einem einzigen Dashboard visualisieren, analysieren und melden können.
AWS Lambda ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.
Code-Repository
Der Code für dieses Muster ist im Repository GitHub Use ML-Predictions over Amazon DynamoDB data with Amazon Athena
Eine DynamoDB-Tabelle
Eine Lambda-Funktion zum Laden der Tabelle mit relevanten Daten
Ein SageMaker Endpunkt für Inferenzanfragen mit dem vortrainierten XGBoost Modell, das in Amazon S3 gespeichert ist
Eine Athena-Arbeitsgruppe namens
V2EngineWorkGroup
Named Athena fragt nach Geodaten-Shapefiles und prognostiziert die Nachfrage nach Rollern
Ein vordefinierter Amazon Athena DynamoDB-Connector, der Athena die Kommunikation mit DynamoDB ermöglicht und AWS Serverless Application Model(AWS SAM)
verwendet, um die Anwendung in Bezug auf den DynamoDB-Konnektor zu erstellen
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Laden Sie den Datensatz und die Ressourcen herunter. |
| App-Entwickler, Datenwissenschaftler |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen CloudFormation Stapel. |
Hinweis: Es kann 15 bis 20 Minuten dauern, bis der CloudFormation Stack diese Ressourcen erstellt hat. | AWS DevOps |
Überprüfen Sie die Bereitstellung CloudFormation . | Gehen Sie wie folgt vor, um zu überprüfen, ob die Beispieldaten aus der CloudFormation Vorlage in DynamoDB geladen wurden:
| App-Developer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine Athena-Tabelle mit Geodaten. | Gehen Sie wie folgt vor, um die Geolocation-Dateien in Athena zu laden:
Die Abfrage erstellt eine neue Tabelle für die Geodaten, die die Stadtviertel repräsentieren. Die Datentabelle wird aus GIS Shapefiles erstellt. Die Den Python-Code zur Verarbeitung von Shapefiles und zur Erstellung dieser Tabelle finden Sie unter Geospatiale Verarbeitung von GIS Shapefiles | Dateningenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Deklarieren Sie eine Funktion in Athena, die abgefragt SageMaker werden soll. |
| Datenwissenschaftler, Dateningenieur |
Prognostizieren Sie anhand der aggregierten DynamoDB-Daten die Nachfrage nach Rollern nach Stadtvierteln. | Jetzt können Sie Athena verwenden, um Transaktionsdaten direkt aus DynamoDB abzufragen und die Daten anschließend für Analysen und Prognosen zu aggregieren. Dies ist nicht einfach zu erreichen, indem eine DynamoDB No-Datenbank direkt abgefragt wird. SQL
Die SQL Anweisung bewirkt Folgendes:
| App-Entwickler, Datenwissenschaftler |
Überprüfen Sie die Ausgabe. | Die Ausgabetabelle enthält die Nachbarschaft, den Längengrad und den Breitengrad des Schwerpunkts der Nachbarschaft. Sie enthält auch die Anzahl der Fahrzeuge, die für die nächste Stunde prognostiziert werden. Die Abfrage generiert die Vorhersagen für einen ausgewählten Zeitpunkt. Sie können Vorhersagen für jeden anderen Zeitpunkt treffen, indem Sie den Ausdruck an einer beliebigen Wenn Ihre DynamoDB-Tabelle einen Echtzeit-Datenfeed enthält, ändern Sie den Zeitstempel auf. | App-Entwickler, Datenwissenschaftler |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ressourcen löschen. |
| App-Entwickler, AWS DevOps |
Zugehörige Ressourcen
Amazon Athena Abfrageverbund SDK
() GitHub Abfragen von Geodaten (Dokumentation)AWS
Verwenden Sie ML-Vorhersagen für Amazon DynamoDB DynamoDB-Daten mit Amazon Athena ML
(AWS Big Data Blog) Amazon ElastiCache (RedisOSS)
(AWS Dokumentation)