我有两个Dataframe和人的地址。表包含可靠的地址源和其他不受信任的地址源。我们想知道地址是真人的可证明性。
我用的是spark 1.5
我有两个Dataframe:
df1型
COL1 | COL2
00001 | Street 1
00001 | Street 2
00002 | Street 1
00002 | Street 2
00002 | Street 1
df2型
COL1 | COL2
00001 | Street 1
00001 | Street 2
00001 | Street 2
00001 | Street 2
00002 | Street 1
00002 | Street 2
00002 | Street 1
我的问题是如何转换成这个Dataframe/Map/其他?我的意思是转换成下面的代码。
COL1 | COL2 | COL3 (Array or Vector)
00001 | Street 1 | [00001 | Street 1, 00001 | Street 2, 00001 | Street 2, 00001 | Street 2]
00001 | Street 2 | [00001 | Street 1, 00001 | Street 2, 00001 | Street 2, 00001 | Street 2]
00002 | Street 1 | [00002 | Street 1, 00002 | Street 2, 00002 | Street 1]
00002 | Street 2 | [00002 | Street 1, 00002 | Street 2, 00002 | Street 1]
00002 | Street 1 | [00002 | Street 1, 00002 | Street 2, 00002 | Street 1]
最后一个表只是一个例子,我需要连接两个独立于文件格式表的Dataframe。我们需要处理第三个表的数据以获得统计数据。
1条答案
按热度按时间ukdjmx9f1#
我用spark1.6尝试了下面的代码。
我已经编写了假设col1是字符串的解决方案。
步骤:
转换
DF1
到rdd[(字符串,字符串)]组
DF2
由COL1
加入结果Step-1
与Step-2
将结果Map到Step-3
至RDD[Row]
定义结构创建新的Dataframe
代码: