2017-07-03 2 views
0

Salut, je vivrais pour insérer un fichier CSV 10Gb dans ma base de données. cela fonctionne parfaitement avec les fichiers de petite taille, mais je continue d'avoir un message d'erreur avec les plus gros.Java Spark insertion CSV: Limite de surcharge du GC dépassée

Voici mon code:

DataFrame df = sqlContext 
        .read() 
        .format("com.databricks.spark.csv") 
        .option("delimiter", ";") 
        .load("file:///home/1.csv"); 
df.write().mode(SaveMode.Append).saveAsTable("mynode.mytable"); 

Quelle est la meilleure solution pour résoudre ce problème? Devrais-je scinder mes fichiers de 10 Go en fichiers plus petits? Alors quelle serait une bonne taille? Dois-je augmenter la taille du tas?

Je choisirais la 1ère solution mais je ne suis pas sûr que ce soit le meilleur choix.

Merci pour votre aide.

Répondre

0

Vous voudrez procéder à la répartition avant de sauvegarder AsTable. ne pas le faire entraînera le chargement du fichier entier en mémoire, d'où l'erreur.