Ich habe vor kurzem mit pyspark auf Jupyter Notebook gearbeitet. Ich versuche, Daten aus Parkettdateien zu lesen, um mit diesen Daten ein Diagramm in Neo4J zu erstellen. Ich kann erfolgreich Daten von HDFS in die Datenrahmen laden.Extrahieren von großen Datensätzen aus einem Datenrahmen pyspark
Wenn die Datengröße begrenzt ist, funktioniert alles gut, ich bin in der Lage, eine Python-Liste mit der collect() -Methode zu extrahieren und dann darüber zu schleifen. Wenn die Datengröße zunimmt, erhalte ich offensichtlich einen "Java Heap Size" -Fehler (der Datenrahmen enthält über 13 Millionen und einige hunderttausend Zeilen verteilt über fünf Spalten).
Ich habe versucht, die foreach (f) zu verwenden, aber ich bekomme "Tupel Index außerhalb des Bereichs". Wenn ich df.select ('columnName'). Show() verwende, kann ich die Daten sehen; aber die Sache ist, dass ich die Werte extrahieren muss, um das Diagramm mit einer Neo4j-Sitzung zu konstruieren (session.run ('Cypher query')
Meine Frage ist: Gibt es eine Möglichkeit, die Leitungen (und daher Daten extrahieren aus den Zeilen) eines Datenrahmens, wenn ich eine wichtige Datenmenge haben
PS: ich diese librairies bin mit: findspark, pyspark, neo4j.v1