aboutsummaryrefslogtreecommitdiff
path: root/examples/src/main/python/transitive_closure.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/src/main/python/transitive_closure.py')
-rwxr-xr-xexamples/src/main/python/transitive_closure.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/examples/src/main/python/transitive_closure.py b/examples/src/main/python/transitive_closure.py
index 00a281bfb6..7bf5fb6ddf 100755
--- a/examples/src/main/python/transitive_closure.py
+++ b/examples/src/main/python/transitive_closure.py
@@ -15,6 +15,8 @@
# limitations under the License.
#
+from __future__ import print_function
+
import sys
from random import Random
@@ -49,20 +51,20 @@ if __name__ == "__main__":
# the graph to obtain the path (x, z).
# Because join() joins on keys, the edges are stored in reversed order.
- edges = tc.map(lambda (x, y): (y, x))
+ edges = tc.map(lambda x_y: (x_y[1], x_y[0]))
- oldCount = 0L
+ oldCount = 0
nextCount = tc.count()
while True:
oldCount = nextCount
# Perform the join, obtaining an RDD of (y, (z, x)) pairs,
# then project the result to obtain the new (x, z) paths.
- new_edges = tc.join(edges).map(lambda (_, (a, b)): (b, a))
+ new_edges = tc.join(edges).map(lambda __a_b: (__a_b[1][1], __a_b[1][0]))
tc = tc.union(new_edges).distinct().cache()
nextCount = tc.count()
if nextCount == oldCount:
break
- print "TC has %i edges" % tc.count()
+ print("TC has %i edges" % tc.count())
sc.stop()