Laden goßer .txt Datei

Der Heilige

Mitglied
Moin, ich habe ein großes Problem an dem ich seit rund 2 Wochen rum Pobiere.
Ich habe ein über 6GB große txt Datei mit JSON Daten, die ich in eine PSQL Datenbank über tragen möchte. Das Problem besteht darin, das mir nach ca. 60% der Daten eine OutOfMemoryExeption aus gegeben wird.
Um das ganze zu beschleunigen habe ich das ganze in drei Teile aufgeteilt, die Parallel zu einander aus geführt werden.
1) Zeilen weises laden der Daten aus der .txt Datei, in einen Puffer.
2) Umwandeln des Strings in ein Daten Objekte auch diese werden in Puffer geschrieben.
Damit Datensätze, mit gleichen Spalten Belegungen, werden in einen Puffer geschrieben
3) Schreiben der Daten Objekte in die Datenbank.

Zur Parallelen Ausführung wird ein ForkJoin Pool verwendet.
Ich ein Paar Dinge kann ich noch sagen, die mir bei meiner suche auf gefallen sind.
1) Die Puffer mit den Daten Objekten, die in die Datenbank geschrieben erden können haben nie mehr als 3 Elemente.
2] Es gibt nie mehr als 100 Buffer die Daten zum in die Datenbank schreiben enthalten.
3) Selbst wenn ich die Daten blockweise lade und warte bis der Bloch von 1 nach Zwei vollständig über tragen wurde Steigt mit jedem Block der belegte Speicher an.
4) Versuche das Problem durch System.gc() in denn grif zu bekommen scheiterten.

Einfach den Sprich zu vergrößern ist für mich gerade keine Option, da ich das Programm für noch größere Dateien brauche.

Ich hoffe einer von euch hat eine Idee. Vielen Dank im voraus und Heiligen mäßige Grüße der Heilige.
 
Zurück