Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 连接之后是合并时spark的工作原理_Apache Spark_Spark Dataframe - Fatal编程技术网

Apache spark 连接之后是合并时spark的工作原理

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 我在书中找到了确认书 由于任务是在子分区上执行的,

假设我有2个
DataFrame
s
df1
df2

我执行一个
连接
,然后执行一个
合并

df1.join(df2, Seq("id")).coalesce(1)
Spark似乎创建了两个阶段,第二个阶段(SortMergeJoin发生的地方)只由一个任务计算

因此,这个独特的任务需要在内存中包含两个完整的数据帧(cf:)

你能证实吗

(我希望排序使用
spark.sql.shuffle.partitions
设置和第三个附加阶段执行合并)

cf-DAG


我在书中找到了确认书

由于任务是在子分区上执行的,因此任务的数量 在包含
合并
操作的阶段中执行是等效的 到
合并的结果RDD中的分区数
转变