作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定两个Spark数据集,A和B我可以在单个列上进行联接,如下所示:
a.joinWith(b, $"a.col" === $"b.col", "left")
a.join(b, a("col") === b("col") && a("col2") === b("col2"), "left")
最佳答案
您可以使用与Dataframe
完全相同的方法来执行此操作:
val xs = Seq(("a", "foo", 2.0), ("x", "bar", -1.0)).toDS
val ys = Seq(("a", "foo", 2.0), ("y", "bar", 1.0)).toDS
xs.joinWith(ys, xs("_1") === ys("_1") && xs("_2") === ys("_2"), "left").show
// +------------+-----------+
// | _1| _2|
// +------------+-----------+
// | [a,foo,2.0]|[a,foo,2.0]|
// |[x,bar,-1.0]| null|
// +------------+-----------+
xs.as("xs").joinWith(
ys.as("ys"), ($"xs._1" === $"ys._1") && ($"xs._2" === $"ys._2"), "left")
关于scala - 如何在多列上联接数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37851606/
我是一名优秀的程序员,十分优秀!