20180610

  1. 在两个Dataset进行join的时候,假如两张表都包含相同名称字段,或者使用的是Column表达式,会将原表中名称相同的列都加入到结果中,在下一步的操作中,只使用字符串是无法区分的,必须使用Dataset名进行区分,如
    1
    2
    3
    4
    val ds1 = Seq(("a",1),("b",2),("c",3)).toDF("name1","age")
    val ds2 = Seq(("a",4),("b",5),("c",6)).toDF("name2","age")
    ds1.join(ds2, 'name1 === 'name2).select('age).show()
    ds1.join(ds2, 'name1 === 'name2).select(ds1("age")).show() // right