0

Ich habe eine Oracle-Instanz auf einer eigenständigen EC2-VM, ich möchte zwei Dinge tun.Erstellen einer Pipeline von Oracle DB zu AWS DynamoDB

1) Kopieren Sie die Daten von einem meiner Oracle-Tabellen in eine Wolke Verzeichnis, das von DynamoDB gelesen werden kann. Dies wird nur einmal durchgeführt.

2) Dann möchte ich jeden Tag Änderungen an dieser Quelltabelle in die DynamoDB-Tabelle als eine andere Zeile anfügen, die eine ID teilt, damit ich visualisieren kann, wie sich diese Zeile im Laufe der Zeit ändert.

Idealerweise hätte ich gerne eine Lösung, die so einfach ist, wie die Ergebnisse einer SQL-Abfrage in ein Programm zu pumpen, das diese Daten in ein Cloud-Dateisystem (S3, HDFS?) Ablegt, dann will ich das konvertieren Daten in ein Format, das mit DynamoDB gelesen werden kann.

Also muß ich diese Dinge:

1) Eine Transportvorrichtung, ich möchte in der Lage sein, so etwas wie dies in der Befehlszeile eingeben:

sqlplus ... "SQL Query" | transport --output_path --output_type etc etc 

2) Für den Weg, den ich ein brauchen Cloud-Dateisystem, S3 scheint die offensichtliche Wahl, da ich hier eine schlüsselfertige Lösung möchte.

3) Dieser letzte Teil ist ein schön zu haben, weil ich immer ein temporäres Verzeichnis verwenden kann meine Rohtext zu halten und es in einem weiteren Schritt konvertieren.

Antwort

1

Ich nehme die „Wolke Verzeichnis“ oder „Cloud-Dateisystem“ Sie S3 beziehen, werden? Ich sehe nicht, wie es in diesem Zusammenhang anders sein könnte, aber Sie verwenden sehr vage Begriffe.

Die DynamoDB-Einfügung auslösen, wenn Sie eine neue Datei in S3 kopieren, ist ziemlich einfach, nur S3 löst eine Lambda-Funktion aus, um die Daten zu verarbeiten und in DynamoDB einzufügen. Ich weiß nicht genau, wie Sie die Daten in S3 bekommen. Wenn Sie nur einen Cron-Job ausführen, um Oracle regelmäßig abzufragen und einige Daten in eine Datei zu speichern, die Sie dann nach S3 kopieren, sollte das funktionieren.

Sie müssen wissen, dass Sie nicht in eine Datei auf S3 anfügen können, würden Sie die gesamte Datei jedes Mal schreiben müssen, um neue Daten zu S3 drücken. Wenn Sie die Daten irgendwie streamen möchten, dann könnte die Verwendung von Kenesis anstelle von S3 eine bessere Option sein.

+0

Vielen Dank für die Antwort, ich habe mein OP bearbeitet, um klar zu sein, was ich brauche. – Dan

Verwandte Themen