Apache spark 连接之后是合并时spark的工作原理
假设我有2个Apache spark 连接之后是合并时spark的工作原理,apache-spark,spark-dataframe,Apache Spark,Spark Dataframe,假设我有2个DataFramesdf1和df2 我执行一个连接,然后执行一个合并 df1.join(df2, Seq("id")).coalesce(1) Spark似乎创建了两个阶段,第二个阶段(SortMergeJoin发生的地方)只由一个任务计算 因此,这个独特的任务需要在内存中包含两个完整的数据帧(cf:) 你能证实吗 (我希望排序使用spark.sql.shuffle.partitions设置和第三个附加阶段执行合并) cf-DAG 我在书中找到了确认书 由于任务是在子分区上执行的,
DataFrame
sdf1
和df2
我执行一个连接
,然后执行一个合并
df1.join(df2, Seq("id")).coalesce(1)
Spark似乎创建了两个阶段,第二个阶段(SortMergeJoin发生的地方)只由一个任务计算
因此,这个独特的任务需要在内存中包含两个完整的数据帧(cf:)
你能证实吗
(我希望排序使用spark.sql.shuffle.partitions
设置和第三个附加阶段执行合并)
cf-DAG
我在书中找到了确认书 由于任务是在子分区上执行的,因此任务的数量 在包含
合并
操作的阶段中执行是等效的
到合并的结果RDD中的分区数
转变