[ https://issues.apache.org/jira/browse/SPARK-11894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15019198#comment-15019198 ]
Xiao Li commented on SPARK-11894: --------------------------------- The plan of Dataframe: == Parsed Logical Plan == Join Inner, Some(true) Subquery df1 Project [_1#17 AS key#19,_2#18 AS value#20] LocalRelation [_1#17,_2#18], [[null,1],[22,2]] Subquery df2 Project [_1#21 AS key#23,_2#22 AS value#24] LocalRelation [_1#21,_2#22], [[null,1],[22,2]] == Analyzed Logical Plan == key: int, value: string, key: int, value: string Join Inner, Some(true) Subquery df1 Project [_1#17 AS key#19,_2#18 AS value#20] LocalRelation [_1#17,_2#18], [[null,1],[22,2]] Subquery df2 Project [_1#21 AS key#23,_2#22 AS value#24] LocalRelation [_1#21,_2#22], [[null,1],[22,2]] == Optimized Logical Plan == Join Inner, None LocalRelation [key#19,value#20], [[null,1],[22,2]] LocalRelation [key#23,value#24], [[null,1],[22,2]] == Physical Plan == BroadcastNestedLoopJoin BuildLeft, Inner, None LocalTableScan [key#19,value#20], [[null,1],[22,2]] LocalTableScan [key#23,value#24], [[null,1],[22,2]] > Incorrect results are returned when using null > ---------------------------------------------- > > Key: SPARK-11894 > URL: https://issues.apache.org/jira/browse/SPARK-11894 > Project: Spark > Issue Type: Sub-task > Components: SQL > Affects Versions: 1.6.0 > Reporter: Xiao Li > > In DataSet APIs, the following two datasets are the same. > Seq((new java.lang.Integer(0), "1"), (new java.lang.Integer(22), > "2")).toDS() > Seq((null.asInstanceOf[java.lang.Integer],, "1"), (new > java.lang.Integer(22), "2")).toDS() > Note: java.lang.Integer is Nullable. > It could generate an incorrect result. For example, > val ds1 = Seq((null.asInstanceOf[java.lang.Integer], "1"), (new > java.lang.Integer(22), "2")).toDS() > val ds2 = Seq((null.asInstanceOf[java.lang.Integer], "1"), (new > java.lang.Integer(22), "2")).toDS()//toDF("key", "value").as('df2) > val res1 = ds1.joinWith(ds2, lit(true)).collect() > The expected result should be > ((null,1),(null,1)) > ((22,2),(null,1)) > ((null,1),(22,2)) > ((22,2),(22,2)) > The actual result is > ((0,1),(0,1)) > ((22,2),(0,1)) > ((0,1),(22,2)) > ((22,2),(22,2)) -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org