我有两个Dataframe:
- UsersDF: (column_name:type) => [ (name,String) (age,Int) (Like,Int) ]
- ClusterDF: => [(cluster,bigInt) (names,String)]
一行clusterDF的名称列由与空格字符("\ t").
分隔的用户字符串组成
用户在一个群集中。
我想将cluster列添加到userDF Dataframe,检查字段名称。我该怎么办?
示例:
clusterDF行:1, "A B C D"
userDF行:"A", 23, 150
在流程结束时:userDF行:"A", 23, 150, 1
答案 0 :(得分:0)
这样做的方法是加入两个数据帧。为此,您需要两个步骤。第一种是将clusterDF转换为可用的形式:
val fixed = clusterDF.withColumn("name", explode(split($"names", " ")))
我们首先按空格分割名称以获取一组名称,然后将其展开以获取每个值的行。
现在加入两个:
usersDF.join(fixed, "name")