Ich versuche, eine große Textdatei von ca. 5GBSpeichern einer großen Datei überschreitet frameLimit
sc.parallelize(cfile.toString()
.split("\n"), 1)
.saveAsTextFile(new Path(path+".cs", "data").toUri.toString)
aber ich bekomme immer wieder
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
...
org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle 6
at org.apache.spark.MapOutputTracker$$anonfun$org$apache$spark$MapOutputTracker$$convertMapStatuses$2.apply(MapOutputTracker.scala:542)
at org.apache.spark.MapOutputTracker$$anonfun$org$apache$spark$MapOutputTracker$$convertMapStatuses$2.apply(MapOutputTracker.scala:538)
at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
Ich bin jetzt hier seit Ewigkeiten fest. Kann mir jemand hier helfen und erklären, wie ich cfile
als Textdatei speichern kann?
Eigenständig/lokal/Garn-Cluster?
- Yarn Cluster
Speicher/Cores Einstellungen?
- 1,8 TB
- 285 Cores
Anzahl der Partitionen?
- ich zur Zeit die Anzahl der Partitionen
1
bin Einstellung: zum Einstellen der Anzahl der Partitionen
Die betreffenden Codezeilen:
val model = word2vec
.setMinCount(minCount.asInstanceOf[Int])
.setVectorSize(arguments.getVectorSize)
.setWindowSize(arguments.getContextWindowSize)
.setNumPartitions(numW2vPartitions)
.setLearningRate(learningRate)
.setNumIterations(arguments.getNumIterations)
.fit(wordSequence)
Funken einreichen Argumente:
spark-submit --master yarn
--deploy-mode cluster
--driver-memory 20G
--num-executors 5
--executor-cores 8
--driver-java-options "-Dspark.akka.frameSize=2000"
--executor-memory 20G --class
Eigentlich versuche ich ein Wort Vektormodell zu speichern gibt es eine [Spark-Version] (https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark /mllib/feature/Word2Vec.scala#L625) einer 'save()' Methode, die einfach nicht funktioniert und ich habe keine Ahnung warum. Ich habe die Benutzergruppe kontaktiert, aber seitdem keine Antwort erhalten. Aus diesem Grund dachte ich, ich könnte mein Modell einfach als CSV-Datei speichern und diese scheinbar kaputte Implementierung umgehen. Ich werde meine Frage mit Ihren angeforderten Informationen aktualisieren. – displayname
Das Treiberprogramm hat eigentlich 20 GB RAM, es ist das gleiche für jeden der 8 Arbeiter, die ich gerade benutze. – displayname
Wie haben Sie das Modell in cfile konvertiert?Ich meine, nehmen wir an Modell ist eine Art von RDD und Sie möchten es als Text speichern, so können Sie diese RDD zu RDD der Zeichenfolgen parallel (ohne alles zum Treiber zu bringen, wie Sie wahrscheinlich tun) und dann zu hdfs speichern auch in Parallel –