Weiterhin im Speicher nicht in der Funke
Ich versuche das fortbestehen Funktion in der Funke zur Speicherung der Daten im Arbeitsspeicher und Berechnungen ausführen es. Ich bin unter der Annahme, dass die Speicherung der Daten im Speicher machen würde, die Berechnungen schneller für iterative algorithmen wie K-means-clustering in MLlib.
val data3 = sc.textFile("hdfs:.../inputData.txt")
val parsedData3 = data3.map( _.split('\t').map(_.toDouble))
parsedData3.persist(MEMORY_ONLY)
Den Aufruf von persist wirft die folgende Fehlermeldung:
scala> parsedData3.persist(MEMORY_ONLY)
<console>:17: error: not found: value MEMORY_ONLY
parsedData3.persist(MEMORY_ONLY)
Könnte mir jemand helfen, wie man richtig verwenden Sie persistent zu speichern Daten im Speicher zur Verwendung in einem iterativen Algorithmus?
error: not found: value MEMORY_ONLY
- hast du eigentlich Lesen?! 😉- klar, das ist nicht eine Java-Frage für die Java-Leute dies Lesen, vergessen Sie nicht, setzen Sie die Klammern am Ende: StorageLevel.MEMORY_ONLY_SER() und import org.apache.spark.storage.StorageLevel;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn man sich die Signatur von
rdd.persist
wird:def persist(newLevel: StorageLevel): this.type
können Sie sehen, dass es nimmt einen Wert vom Typ 'StorageLevel', so dass die richtige Art und Weise zu nennen, bleiben in Ihrem Beispiel wäre:Das companion Objekt von StorageLevel definiert die folgenden Konstanten, so bringt es in Zusammenhang ermöglicht es Ihnen, die Konstante direkt (wie in deinem code)
parsedData3.persist()
seitMEMORY_ONLY
ist der StandardMEMORY_ONLY
ist nicht der Standard mehr als der spark 2.3.1