2017-09-21 3 views
1

Ich verwende Snappydata und SQL einige Analysen zu laufen, aber der Job ist langsam und beinhaltet Operationen auf sehr großen Eingangsdaten verbinden.SnappyData mehr Jobs Parallelität zu erreichen

Ich erwäge, die Eingabedaten zuerst zu partitionieren und dann die Jobs auf verschiedenen Partitionen gleichzeitig auszuführen, um den Prozess zu beschleunigen. Aber im Embedded-Modus Ich verwende, mein Code erhält die SnappySession übergeben, und ich kann ist/bissig-SQL verwenden, um die Tabellen abgefragt werden, so nehme ich an allen snappydata Arbeitsplätze würden die gleiche SnappySession teilen (oder gleiche Tabelle Namensraum, wie die gleiche Datenbank in Postgresql in meinem Verständnis).

Also ich nehme an, wenn ich meinen Job unter Verwendung der gleichen jar mit verschiedenen Eingabeargumenten, der Tabellen-Namespace für verschiedene Aufträge identisch sein würde, so dass Fehler verursacht.

Also meine Frage ist: ist es möglich, mehrere SnappySession (oder mehrere Namespace wie Datenbanknamen), die eine Reihe von Operationen unabhängig voneinander, vorzugsweise in einem Snappydata-Job zu vermeiden, um viele Aufträge zur gleichen Zeit zu verwalten?

Antwort

1

Ich bin mir nicht sicher, ob ich der Frage folge. Vielleicht wird dies helfen:

Wenn Abfragen mithilfe von Snappy-SQL gesendet werden, verwendet diese Shell JDBC, um eine Verbindung herzustellen und die Abfrage auszuführen. Intern snappy startet einen Job und führt abhängig von der Abfrage auf jeder Partition gleichzeitig Tasks aus. Und ja, diese SQL-Sitzung ist intern mit einer eindeutigen SnappySession (Spark-Sitzung) verknüpft.

Oder vielleicht, Sie versuchen, die Daten über viele Tabellen zu partitionieren und die Verarbeitung für diese Tabellen unabhängig, aber parallel zu beginnen?

+0

Danke für die Antwort sehr viel, so scheint es, dass die mehrere Tabellen zu erstellen, die Daten und führen Sie jede SQL parallel zu spalten ist der Weg zu gehen. Ich hatte gehofft, meinen bestehenden Code wie er ist wiederzuverwenden, aber ich denke, dass ich meinen Code jetzt ändern muss. – user3230153

Verwandte Themen