- BroadcastNestedLoopJoinExec
- CartesianProductExec
CartesianProductExec
对于没有等值join条件但是为inner join的情况,会使用CartesianProductExec。
protected override def doExecute(): RDD[InternalRow] = {
val numOutputRows = longMetric("numOutputRows")
val leftResults = left.execute().asInstanceOf[RDD[UnsafeRow]]
val rightResults = right.execute().asInstanceOf[RDD[UnsafeRow]]
val pair = new UnsafeCartesianRDD(
leftResults,
rightResults,
right.output.size,
sqlContext