在火花流中执行多个操作并行/异步



是否有一种方法可以在火花流中执行多个动作异步/并行?这是我的代码:

positions.foreachRDD(rdd -> {
           JavaRDD<A> pbv = rdd.map(p -> A.create(p));          
           javaFunctions(pbv).writerBuilder("poc", "table_a", mapToRow(A.class)).saveToCassandra();     
           JavaRDD<D> pbd = rdd.map(p -> D.create(p));          
           javaFunctions(pbd).writerBuilder("poc", "table_d", mapToRow(D.class)).saveToCassandra();             
           JavaRDD<L> pblv = rdd.map(p -> L.create(p));         
           javaFunctions(pblv).writerBuilder("poc", "table_l", mapToRow(L.class)).saveToCassandra();            
           JavaRDD<V> pbld = rdd.map(p -> V.create(p));         
           javaFunctions(pbld).writerBuilder("poc", "table_v", mapToRow(V.class)).saveToCassandra();
    });

我想同时执行Savetocassandra操作,这是可以使用" Spark Technics"或仅通过自助线/执行者处理的?

的?

感谢您的帮助!

问候,马克斯

@massg的评论可能是这种分叉的最快方法,但是如果您不希望通过分开流来更轻松地做到这一点。

之类的东西
positions.map(A.create(p)).saveToCassandra
positions.map(D.create(p)).saveToCassandra
positions.map(L.create(p)).saveToCassandra
positions.map(V.create(p)).saveToCassandra

通过对Dstream作用,所有这些请求将并行发生。

最新更新