我想加入多个DF。因为join是如何工作的,所以我得到了相同的列名。
When called on datasets of type (K, V) and (K, W), returns a dataset of (K, (V, W)) pairs with all pairs of elements for each key.
# Join Min and Max to S1
joinned_s1 = (minTime.join(maxTime, minTime["UserId"] == maxTime["UserId"]))
# Join S1 and sum to s2
joinned_s2 = (joinned_s1.join(sumTime, joinned_s1["UserId"] == sumTime["UserId"]))
我收到此错误:“引用'UserId'不明确,可能是:UserId#1578,UserId#3014。;”
成功加入后,从数据集中删除W的正确方法是什么?
您可以使用equi join:
别名:
或引用父表:
另一方面,您引用的是
RDD
文档,而不是DataFrame
文档。这些是不同的数据结构,操作方式不同。而且看起来你在做一些奇怪的事情。假设您有一个单亲表
min
,max
和sum
可以作为简单的聚合计算,而不需要join
。如果在列上连接两个数据帧,则列将被复制。因此,尝试使用数组或字符串连接两个或多个数据帧。
例如,如果在列上联接:
输出将由两列“name”组成。
现在,如果您使用:
则输出将没有重复的列。
相关问题 更多 >
编程相关推荐