【发布时间】:2021-09-05 14:42:42
【问题描述】:
我有 2 个要执行联接的数据集。数据集 merc 和 ded 都具有相同的架构。
架构:id、mid、pid、zid
List<String> joinSeqList = Lists.newArrayList("id","mid");
Dataset<Row> dataDF = merc.as("merc")
.join(ded.as("ded"),
convertListToSeq(joinSeqList),
"fullouter");
private Seq<String> convertListToSeq(List<String> inputList) {
return scala.collection.JavaConversions.asScalaBuffer(inputList).seq();
}
我面临的问题是生成的架构包含merc 的所有列,但不是ded 的所有列。来自 ded 的 id 和 mid 在最终架构中不存在(它们是连接列)。
既然我得到了merc 的所有列,我怎样才能得到ded 的所有列。
所以输出应该包含merc和ded的所有列
【问题讨论】:
标签: apache-spark apache-spark-sql apache-spark-dataset