2016-06-22 24 views
0

Ich habe einen Anwendungsfall, wo ich CSV-Daten von mehreren Windows-Geräten senden müssen, sagen Nutzungsstunden. Wir haben Zielnutzungsstunden z.B. 80 Stunden, die kollektiv abgeschlossen werden müssen. Jetzt wird jeder PC seine Nutzung durch Kinesis-Stream senden und bei Cloud-Nutzung mit EMR werden wir die Abdeckung aktualisieren.Amazon Web Services Kinesis, EMR und S3 in der Cloud

z.B. PC1- 10hrs, PC2-20hrs, PC3-5hrs, PC4-5hrs. Jetzt sendet Cloud 80- (10 + 20 + 5 + 5)/4 = 10 an jeden PC. Jetzt müssen sie jeweils nur 10 Stunden zurücklegen. Die Daten werden übertragen. Aber wir müssen die Daten in S3 speichern und auch verarbeiten und an EMR zurücksenden.

Wir senden Daten mit AWS sdk .net. Ich muss die Schritte verstehen, die erforderlich sind, sobald sich Daten in Kinesis-Streams befinden, was in der Cloud zu tun ist.

+0

Hallo @sidnandan, Können Sie bitte das Design Ihrer Wolke mehr erarbeiten. Und wo du verwirrt bist. Danke –

+0

Hallo @ Murtaza, Wir haben noch nicht die volle Architektur entworfen. Ich bin in der Lage, Daten an Kinesis-Stream zu senden. Nun müssen die Daten aus dem Stream gelesen und in S3 gespeichert sowie mit EMR verarbeitet werden. Hier ist, wo ich verwirrt bin, welche Schritte in der Cloud durchzuführen, um Daten zu lesen und zu streamen, auch wie aktualisierten Daten zurück zu PC – sidnandan

+0

Ok, So korrigieren Sie mich, wenn ich falsch gehe. Sie lesen von Kinesis eine gewisse Aggregation auf EMR anwenden und dann aggregierte Ergebnis- oder Rohdaten speichern? zu S3. Und dann müssen Sie diese verarbeiteten Daten an Ihre Windows Phone Clients zurücksenden. –

Antwort

0

Es gibt zwei Ansätze, wie pro Ihre UseCase:

1) EMR basiert oder Cluster Basierend

Sie können einen Funken-Streaming-Programm schreiben, um Ihre Daten von Kinesis, Prozess über sie zu verbrauchen und dann Dump die Ergebnisse zu einem NoSQL oder Amazon S3. In der Zwischenzeit können Sie Ihre Rohdaten auch mit KinesisS3Emitter sichern. Nachdem Ihr Ergebnis verarbeitet werden, können Sie es zu einem SNS Thema senden, die von Ihrem PC und Ihrem PC abonniert wird, wird das verarbeitete Ausgangs

2) Serverless

Statt der Schaffung eines Kinesis-Stream erhalten, können Sie einen Feuerwehrschlauch Strom erzeugen welche Ihre Rohdaten an einen S3-Standort liefert. Dann können Sie eine Lambda-Funktion konfigurieren, um diese S3-Dateien zu verarbeiten und das Ergebnis an einen anderen S3-Standort oder NoSQL umzuleiten. Und wie oben können Sie ein SNS-Thema senden, das von Ihrem PC abonniert wird.

Dies sind die beiden Ansätze (Korrekturen sind willkommen). Sie müssen die Berechnungsgeschwindigkeit, Kosten und Ressourcen zu verwenden von Ihrer Anforderung und die Sicherheit Ihres Systems zu berechnen. Zum Beispiel: Statt SNS-Thema können Sie N Anzahl der SNS Themen für N PCs usw. erforderlich

Kommentar unten für mehr und lassen Sie die Leute wissen, was am besten ist. Danke

+0

Ich werde den Ansatz kommentieren, der für mich funktioniert hat. Ich werde sie ausprobieren. – sidnandan