Grâce à un shell Scala, j'ai accès à une base de données Elasticsearch en utilisant le connecteur elasticsearch-hadoop-5.5.0.Comment écrire un RDD de grande taille sur un disque local via le shell Scala de Scala?
je produis mon RDD en passant la commande suivante dans la coquille d'allumage:
val myRdd = sc.esRDD("myIndex/type", myESQuery)
myRDD contient 2,1 millions de disques à travers 15 partitions. J'ai essayé d'écrire toutes les données dans un fichier texte sur mon disque local mais quand j'essaie d'exécuter des opérations qui convertissent le RDD en un tableau, comme myRdd.collect(), je surcharge mon tas java.
Existe-t-il un moyen d'exporter les données (par exemple, 100 000 enregistrements à la fois) de manière incrémentielle afin de ne jamais surcharger ma mémoire système?
Comment utiliser dans ce casLocalIterator? –
@ M.T. 'rdd.toLocalIterator.foreach (line => faire quelque chose avec la ligne)' – puhlen