Catalyst optimizer throws an 'implicit cross join' exception when joining on a literal
- Lingua principale
- Scala
- Stelle
- 33
- Fork
- 16
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## Describe the bug
The issue #895 is related to a bug in Catalyst optimizer resulting in the creation of an implicit cross join. This bug is known and there are 2 Spark jiras raised about this already.
## To Reproduce
The shortest Spark job to replicate the issue is described in [SPARK-29176](https://issues.apache.org/jira/browse/SPARK-29176):
```scala
case class Value(id: Int, lower: String, upper: String)
import spark.implicits._
val values = Seq(Value(1, "one", "ONE")).toDS
val join = values.join(values.withColumn("id", lit(1)), "id")
```
## Expected behaviour
If the original execution plan passes the implicit cross join test so should the optimized plan.
## Spark versions affected
- Spark 2.2.2 - no issue
- Spark 2.4.3, 2.4.4, master - the issue occurs
## Spark JIRAs to track
- [SPARK-29176](https://issues.apache.org/jira/browse/SPARK-29176)
- [SPARK-24839](https://issues.apache.org/jira/browse/SPARK-24839)
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.