我想从spark-streaming保存到几个弹性搜索索引。 我创建了<key(index), value>
对,当我执行groupByKey时,结果是的Tuple,但为了使用elasticsearch-spark插件保存到elasticsearch,我需要的值为JavaRDD<value>
。将iterable转换为RDD
我知道有一个sparkContext.parallelize(list)选项可以从列表创建JavaRDD,但是这只能在驱动程序上执行。
是否有另一种选择来创建可以在执行程序上执行的JavaRDD?或者我可以通过另一种方式实现对执行程序有效的Tuple2<key(index), JavaRDD<value>>
? 如果不是,我怎么才能使Iterator只能切换到驱动程序上的JavaRDD,以及插件是否在执行程序中写入elasticsearch?
感谢,
丹妮拉
埃姆,AFAIK,'groupByKey'产生'JavaPairRDD>',它仍然是'rdd' 。 rdd的任何进一步处理都在执行程序上执行,而不是在驱动程序上执行。 –