例如:
rdd1 = [('magnus', 'nordea', 13000), ('Erik', 'nordea', 13000), ('Ola', 'nordea', 19000), ('rohit', 'nordea', 23030)]
rdd2 = [('magnus', 'jpmc', 14000), ('Erik', 'jpmc', 2100), ('Ola', 'jpmc', 18400), ('rohit', 'jpmc', 25000)]
rdd1.join(rdd2).collect() gives me :
[('Ola', ('nordea', 'jpmc')), ('Erik', ('nordea', 'jpmc')), ('rohit', ('nordea', 'jpmc')), ('magnus', ('nordea', 'jpmc'))]
上述rdd失去其金额值:(
必需的输出:
[(('Ola','nordea'),13000),
(('Ola','jpmc'),14000),
(('Erik','nordea'),13000),
(('Erik','jpmc'),2100),
(('rohit','nordea'),23030),
(('rohit','jpmc'),25000),
(('magnus','nordea'),13000),
(('magnus', 'jpmc'),14000)]
有关它的任何建议或我应该参考什么功能?
答案 0 :(得分:0)
.btn-content
结果:
spark.version
# u'2.2.0'
rdd1 = sc.parallelize([('magnus', 'nordea', 13000), ('Erik', 'nordea', 13000), ('Ola', 'nordea', 19000), ('rohit', 'nordea', 23030)])
rdd2 = sc.parallelize([('magnus', 'jpmc', 14000), ('Erik', 'jpmc', 2100), ('Ola', 'jpmc', 18400), ('rohit', 'jpmc', 25000)])
rdd1.union(rdd2).map(lambda x: ((x[0], x[1]), x[2])).collect()
答案 1 :(得分:0)
rdd1.union(rdd2).collect()
输出:
[('magnus', 'nordea', 13000),
('Erik', 'nordea', 13000),
('Ola', 'nordea', 19000),
('rohit', 'nordea', 23030),
('magnus', 'jpmc', 14000),
('Erik', 'jpmc', 2100),
('Ola', 'jpmc', 18400),
('rohit', 'jpmc', 25000)]