我有两行如下,他们产生附加的输出。输出是正确的。但是在第二个语句的情况下,我想形成一个单元组,而不是一个元组元组。我怎么能实现同样的目标?
print ratingsRDD.map(lambda x: (x[0],x[2])).take(5)
print ratingsRDD.map(lambda x: (x[0],x[2])).reduceByKey(lambda p,q: (p,q)).take(4)
[(1, 5.0), (1, 3.0), (1, 5.0), (1, 5.0), (1, 4.0)]
[(2, ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4.0, 3.0), 4.0), 3.0), 3.0), 4.0), 3.0), 5.0), 4.0), 4.0), 3.0), 3.0), 3.0), 3.0), 4.0), 4.0), 5.0), 5.0), 4.0), 3.0), 3.0), 4.0), 4.0), 3.0), 5.0), 4.0), 5.0), 5.0), 3.0), 3.0), 2.0), 4.0), 3.0), 5.0), 3.0), 4.0), 5.0), 3.0), 4.0), 3.0), 3.0), 3.0), 3.0), 3.0), 5.0), 3.0), 5.0), 1.0), 3.0), 5.0), 4.0), 4.0), 3.0), 4.0), 4.0), 3.0), 3.0), 5.0), 4.0), 5.0), 2.0), 3.0), 2.0), 1.0), ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5.0, 4.0), 4.0), 5.0), 3.0), 5.0), 3.0), 2.0), 3.0), 3.0), 2.0), 2.0), 4.0), 5.0), 5.0), 2.0), 5.0), 4.0), 4.0), 2.0), 5.0), 3.0), 5.0), 3.0), 3.0), 4.0), 4.0), 4.0), 3.0), 4.0), 3.0), 5.0), 5.0), 5.0), 3.0), 4.0), 2.0), 5.0), 4.0), 5.0), 2.0), 4.0), 4.0), 4.0), 3.0), 4.0), 5.0), 4.0), 3.0), 2.0), 5.0), 4.0), 5.0), 4.0), 3.0), 4.0), 3.0), 5.0), 5.0), 3.0), 4.0), 3.0), 5.0), 5.0), 5.0))), (4, ((((((((((3.0, 4.0), 5.0), 4.0), 5.0), 4.0), 4.0), 5.0), 5.0), 5.0), ((((((((((5.0, 4.0), 4.0), 5.0), 2.0), 5.0), 4.0), 4.0), 1.0), 5.0), 5.0))), (6, ((((((((((((((((((((((((((((((((((((5.0, 4.0), 5.0), 4.0), 5.0), 4.0), 5.0), 4.0), 4.0), 4.0), 3.0), 4.0), 4.0), 3.0), 4.0), 4.0), 3.0), 4.0), 5.0), 5.0), 3.0), 3.0), 4.0), 5.0), 4.0), 4.0), 5.0), 5.0), 5.0), 4.0), 4.0), 3.0), 5.0), 4.0), 4.0), 4.0), ((((((((((((((((((((((((((((((((((4.0, 4.0), 5.0), 4.0), 4.0), 2.0), 5.0), 3.0), 4.0), 1.0), 3.0), 5.0), 3.0), 4.0), 4.0), 3.0), 5.0), 4.0), 3.0), 3.0), 3.0), 3.0), 3.0), 5.0), 4.0), 4.0), 4.0), 5.0), 3.0), 3.0), 3.0), 3.0), 4.0), 4.0), 4.0))), (8, ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((3.0, 5.0), 3.0), 5.0), 5.0), 3.0), 3.0), 3.0), 5.0), 3.0), 3.0), 5.0), 3.0), 4.0), 3.0), 3.0), 3.0), 3.0), 3.0), 5.0), 2.0), 5.0), 3.0), 4.0), 5.0), 5.0), 4.0), 4.0), 5.0), 3.0), 5.0), 3.0), 3.0), 5.0), 3.0), 4.0), 4.0), 2.0), 4.0), 5.0), 4.0), 3.0), 5.0), 5.0), 3.0), 4.0), 5.0), 4.0), 3.0), 5.0), 4.0), 4.0), 3.0), 5.0), 4.0), 3.0), 3.0), 4.0), 4.0), 4.0), 3.0), 4.0), 3.0), 5.0), 2.0), 3.0), 3.0), 5.0), 5.0), 4.0), ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((3.0, 3.0), 4.0), 4.0), 3.0), 3.0), 5.0), 5.0), 3.0), 3.0), 2.0), 4.0), 4.0), 4.0), 3.0), 5.0), 5.0), 4.0), 5.0), 3.0), 4.0), 5.0), 4.0), 3.0), 5.0), 3.0), 3.0), 5.0), 5.0), 5.0), 4.0), 3.0), 5.0), 3.0), 2.0), 4.0), 4.0), 4.0), 4.0), 5.0), 5.0), 3.0), 3.0), 5.0), 5.0), 5.0), 4.0), 4.0), 4.0), 5.0), 4.0), 4.0), 2.0), 4.0), 3.0), 4.0), 5.0), 5.0), 5.0), 3.0), 2.0), 5.0), 4.0), 5.0), 3.0), 5.0), 5.0), 4.0), 3.0)))]
答案 0 :(得分:4)
只需使用call checkAdminAccess(3); #returns null
call checkAdminAccess(6); #returns null
即可。这里没有充分的理由使用INSERT INTO `staff` (`StaffID`,`AccountID`,`RoleID`,`ManagerID`,`IsAdmin`) VALUES (1,3,1,1,0);
INSERT INTO `staff` (`StaffID`,`AccountID`,`RoleID`,`ManagerID`,`IsAdmin`) VALUES (2,6,2,1,1);
:
groupByKey
仅供记录,您所拥有的是reduceByKey
grouped = sc.parallelize(
[(1, 5.0), (1, 3.0), (1, 5.0), (1, 5.0), (1, 4.0)]
).groupByKey()
grouped.mapValues(list).first()
## (1, [5.0, 3.0, 5.0, 5.0, 4.0])
而非tuple
tuples
。
如果您真的想要一个不需要list
的解决方案,请参阅How can I use reduceByKey instead of GroupByKey to construct a list?。