Comment définir la taille du segment de mémoire dans l'étincelle dans l'environnement Eclipse?
Je suis en train de lancer le simple code suivant à l'aide de l'étincelle au sein d'Eclipse:
import org.apache.spark.sql.SQLContext
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object jsonreader {
def main(args: Array[String]): Unit = {
println("Hello, world!")
val conf = new SparkConf()
.setAppName("TestJsonReader")
.setMaster("local")
.set("spark.driver.memory", "3g")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val df = sqlContext.read.format("json").load("text.json")
df.printSchema()
df.show
}
}
Cependant, j'obtiens les erreurs suivantes:
16/08/18 18:05:28 ERROR SparkContext: Error initializing SparkContext.
java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please increase heap size using the --driver-memory option or spark.driver.memory in Spark configuration.
J'ai suivi les différents tutos comme celui-ci: Comment configurer Apache Spark Exécuteur de la mémoire. La plupart du temps, soit j'utilise --driver-memory
option (pas possible avec Eclipse) ou par modifiying l'étincelle de la configuration, mais il n'existe pas de fichier correspondant.
Quelqu'un a une idée sur comment résoudre ce problème au sein d'Eclipse environnement?
OriginalL'auteur Yassir S | 2016-08-18
Vous devez vous connecter pour publier un commentaire.
Dans Eclipse aller à Run > Run Configurations... > Arguments > VM arguments et définir max heapsize comme
-Xmx512m
.OriginalL'auteur abaghel
J'ai eu ce problème aussi bien et c'est comment je l'ai résolu. Pensé qu'il pourrait être utile.
OriginalL'auteur Duy Bui
Fonctionne très bien pour moi, une fois que la modification du script de conf.set("l'étincelle.les tests.de mémoire", "2147480000")
code complet ci-dessous:
Étape 2
Étape 3
La création de fichier JAR et Exécution:
OriginalL'auteur user8789594
Vous pouvez définir "l'étincelle.le pilote.de mémoire" option de modifier le "étincelle de paramètres par défaut.conf" fichier "${SPARK_HOME}/conf/", Par défaut, il n'existe pas de fichier appelé "l'étincelle de paramètres par défaut.conf" dans le répertoire "${SPARK_HOME}/conf/", mais il y a un fichier "étincelle de paramètres par défaut.conf.modèle", vous pouvez utiliser la commande suivante pour créer "l'étincelle de paramètres par défaut.conf" fichier:
ensuite, de le modifier:
OriginalL'auteur StrongYoung
Dans mon cas
mvn
arrêté emballage le projet, avec la même exception (java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200.
).J'ai commencé le débogage de cette question par modifier les paramètres de la VM taille de segment de mémoire:
export MAVEN_OPTS="-Xms1024m -Xmx4096m -XX:PermSize=1024m"
. Il ne fonctionne pas..Puis j'ai essayé d'ajouter à
spark config
laspark.driver.memory
option égal à1g
[SparkConfig.set("spark.driver.memory","1g")
].À la fin il s'est avéré que mon installation de java avait, en quelque sorte obtenu messesed. Je réinstallé la
JDK
(vers une version plus récente) et a mis en place de nouveau laJAVA_HOME
chemins et alors que tout était de travailler à partir du terminal.Si la mise à niveau, à utiliser
Netbeans
/Intellij
/Eclipse
quelqu'un aurait besoin de configurer leJDK
paramètre dans chacun d'eux pour pointer vers la nouvelle installation du Kit de Développement Java.OriginalL'auteur Stanislav