Java 可以在spark的一个分区内创建并行操作吗?

Java 可以在spark的一个分区内创建并行操作吗?,java,scala,apache-spark,key-value,rdd,Java,Scala,Apache Spark,Key Value,Rdd,我是spark及其相关概念的新手,所以请善待我,帮助我澄清我的疑问,我会给你一个例子来帮助你理解我的问题 我有一个javapairdd“rdd”,它包含像 Tuple2 <Integer,String[]> t=1时: *tuple1=use operation2 to modify the element 2 *tuple2=use operation3 to modify the element3 *tuple3=use operation1 to modify

我是spark及其相关概念的新手,所以请善待我,帮助我澄清我的疑问,我会给你一个例子来帮助你理解我的问题

我有一个javapairdd“rdd”,它包含像

Tuple2 <Integer,String[]>
t=1时:

 *tuple1=use operation2 to modify the element 2 

 *tuple2=use operation3 to modify the element3 

 *tuple3=use operation1 to modify the element 1 
t=2时:

*tuple1=use operation.3 to modify the element 3

*tuple2=use operation1 to modify the element1 

*tuple3=use operation2 to modify the element 2
更新完前3个元组后,我从同一部分中选取其他元组(3个元组)来处理它们,以此类推

请友善一点这只是我脑海中闪过的一个想法,我想知道是否有可能做到这一点,谢谢你的帮助


Spark不能保证执行的顺序

您决定如何转换RDD的各个元素,Spark负责以其认为最有效的方式将转换应用于所有元素


根据您的环境中有多少执行器(即线程或服务器或两者)可用,Spark将实际同时处理尽可能多的元组。

首先,欢迎加入Spark社区

为了补充@Tomasz Błachut answer,Spark的执行上下文没有将节点(例如,一台计算PC)标识为单独的处理单元,而是将其核心标识出来。因此,一个作业可以分配给22核Xeon上的两个核,而不是整个节点


火花EC在考虑到它们的效率和性能时,将节点视为计算单元;因为这与在性能不同的节点之间划分较大的作业相关,或者如果作业速度慢或经常失败,则将其列入黑名单。

请查看
mapPartitions
-这可能会帮助您降低bitI的投票率,因为我认为您需要花更多时间阅读spark文档和概念。在这种情况下,这个问题在我看来几乎没有意义。非常感谢@sebszyller,我很清楚这一切都取决于核心(执行器)的数量,但我想也许同一个核心可以同时处理多个元组,但在你回答之后,我认为这没有意义,非常感谢@Tomasz Błachut,我很清楚这一切都取决于内核(执行器)的数量,但我在想,也许同一个内核可以同时处理多个元组,但在您的回答之后,我认为这没有意义,bcz spark已经这样做了
*tuple1=use operation.3 to modify the element 3

*tuple2=use operation1 to modify the element1 

*tuple3=use operation2 to modify the element 2