0
通过Scala spark-shell,我可以使用elasticsearch-hadoop-5.5.0连接器访问Elasticsearch数据库。如何通过Scala spark-shell将大型RDD写入本地磁盘?
我在火花壳通过以下命令生成我RDD:
val myRdd = sc.esRDD("myIndex/type", myESQuery)
myRDD包含210万条记录在15个分区。我一直在试图将所有数据写入本地磁盘上的文本文件,但是当我尝试运行将RDD转换为数组的操作时,例如myRdd.collect(),我重载了我的java堆。
是否有一种方法可以逐步导出数据(例如,每次处理100k条记录),以便我永远不会超载系统内存?
在这种情况下,我将如何使用toLocalIterator? –
@ M.T。 'rdd.toLocalIterator.foreach(line =>用行来做)'' – puhlen