Ich benutze Dynamo DB Streams + lamdba als Auslöser, um Kinesis aufzurufen, die meine Dynamo DB Daten zu Redshift bringt. Könnte jemand vorschlagen, Dynamo DB-Daten in verschiedenen Regionen mit Dynamo-Streams in Redshift zu laden.Dynamo DB Daten zu Redhisft
1
A
Antwort
0
Ich hatte ein Programm geschrieben, das die Daten von Dynamo db nach Redshift verschieben kann, aber das funktioniert nicht ohne Streams. Sie können einen Blick auf den Code werfen und sehen, ob das Ihrem Fall hilft oder Sie irgendeine Idee dazu bekommen.
1.Erstellen der Verbindung mit Redshift. 2. Erstellen Sie die Prepeared-Anweisung zum Einfügen in Redshift. 3.Die Daten von Dynamo in Stapeln mithilfe der Paginierung zuschneiden. 4.Die Chargendaten in Resdhift in Chargen einfügen.
public void createConnectionWithRedshift() {
final String DB_URL = "jdbc:redshift://ao.cepuhmobd.us-west-2.redshift.amazonaws.com:5439/events";
// final String DB_URL = args[0];
// Database credentials
final String USER = "abc";
final String PASS = "abc";
Connection conn = null;
try {
// STEP 3: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// createNewTable(conn);
// STEP 4: Execute a query
preparedStatement = conn.prepareStatement("insert into Events " + "(Vin,timestamp,eventtype,source,data)" + "VALUES (?,?,?,?,?)");
} catch (SQLException se) {
se.printStackTrace();
}
}// end main
public void replicateDynamoToRedshidt(int pages, int batchSize, int scanSize)
throws TableNeverTransitionedToStateException, InterruptedException {
createConnectionWithRedshift();//Redshift Connection
for (int i = 0; i < pages; i = i + 1) {
List<EventLogEntity> results = findAll(new PageRequest(i, batchSize));//Fetching the data from Dynamo in batches
List<HeadUnitData> headUnitDataList = headUnitEvents(results);
for (int j = 0; j < headUnitDataList.size(); j++) {
HeadUnitData headUnitData = headUnitDataList.get(j);
insertData(headUnitData.getVin(), headUnitData.getType(), headUnitData.getSource(), headUnitData.getData());//Inserting the data into Redshidt in batches
}
try {
preparedStatement.executeBatch();
System.out.println("Inserted in Database : " + results.size());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Verwandte Themen
- 1. Dynamo Db vs elastische Suche
- 2. Amazon Dynamo DB persistent ORM
- 3. dynamo DB: QuerySpec vs QueryRequest
- 4. Amazon Dynamo DB max Clientverbindungen?
- 5. Ist es möglich, Artikelgröße in Dynamo DB
- 6. Erhalten Sie Daten aus zwei Tabelle in dynamo db
- 7. Ein Teil der Daten haben bevölkern nicht in Dynamo DB
- 8. Suchen in Dynamo DB mit AWS
- 9. Dynamo DB: globaler sekundärer Index, spärlicher Index
- 10. Dynamo DB Optimistisches Sperrverhalten während der Sicherungsaktion
- 11. Dynamo DB - ClassDefFoundError: com/amazonaws/ClientConfigurationFactory
- 12. case insensitive Abfrage in Dynamo DB
- 13. aws cli dynamo db (ValidationException) Fehler
- 14. Peak-Lese-Kapazität Einheiten Dynamo DB-Tabelle
- 15. Node.JS Dynamo DB Vogels KeyCondition Fehler
- 16. OR-Bedingung in Filterausdruck für Dynamo db
- 17. Dynamo DB AWS cli Fehler erhalten
- 18. SCHNELL exportieren eine Dynamo-DB-Tabelle zu S3
- 19. Ist es möglich, einen Hash-Schlüssel in amazon dynamo db
- 20. Dynamo DB-Streams, aktualisieren Sie die neuesten Stream ARN
- 21. Groß- und Kleinschreibung bei Abfragen mit Amazon Dynamo DB
- 22. Aws SDK für Java, Dynamo Db Mapper async
- 23. Boto3 Dynamo DB-Abfrage FilterExpression auf None gesetzt?
- 24. Abfrage AWS Dynamo Db Datenbank mit einem Array
- 25. AWS Dynamo DB unterstützt eingebettete Dokumente oder nicht?
- 26. Wie lade ich Daten von AWS dynamo DB nach Elasticsearch mit logstash
- 27. Amazon Dynamo-Tabellenschema
- 28. Schema Design für Dynamo Db Tabelle oder Äquivalent Nosql Db für Diskussionsforum
- 29. Die beste Möglichkeit, Dynamo-DB-Tabellen mit Shell-Skript zu erstellen
- 30. Dynamo QuerySpec mit GSI
verwenden Sie Kinesis Firehose? –