spark_rdd_算子

rdd

rdd

creattion

tranformation

reduceByKey

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 
val rdd = sc.parallelize(Seq(
("123", State("123", Set("1", "2", "3"))),
("123", State("123", Set("1", "2", "3", "4"))),
("123", State("123", Set("1", "2", "3", "4", "5"))),
("aaa", State("aaa", Set("1", "2", "3")))
))
rdd.reduceByKey((x, y) => {
if (x.objs.size > y.objs.size) {
x
} else {
y
}
}).foreach(println)

cache

1
2
3
4
5
def invertTree(root):
if root is None:
return None
root.left, root.right = invertTree(root.right), invertTree(root.left)
return root
1
2
3
4
5
def invert(node):
if node is None:
return None
else
return Tree(node.value, invert(node.right), invert(node.left))

action