Is it truly impossible to left join a Dataset[T] on the right if T has any
non-option fields? It seems Spark tries to create Ts with null values in
all fields when left joining, which results in null pointer exceptions. In
fact, I haven't found any other way to get around this issue without making
all fields in T options. Is there any other way?

Example:

    case class Test(id: Int)
    val test1 = Seq(Test(1), Test(2), Test(3)).toDS
    val test2 = Seq(Test(2), Test(3), Test(4)).toDS
    test1.as("t1").joinWith(test2.as("t2"), $"t1.id" === $"t2.id",
"left_outer").show

Reply via email to