0
我开始自己学习Spark,所以我的问题可能非常愚蠢。PySpark:在循环内打印到终端
不管怎么说,我正在通过星火安装(链接:https://github.com/apache/spark/blob/master/examples/src/main/python/kmeans.py)提供了一个示例
我要修改一点点的代码,因为我需要更好地了解地图,减少操作。
我试图做的是:
while tempDist > convergeDist:
print('Here \n')
closest = data.map(
lambda p: (closestPoint(p, kPoints), (p, 1)))
print(closest)
pointStats = closest.reduceByKey(
lambda p1_c1, p2_c2: (p1_c1[0] + p2_c2[0], p1_c1[1] + p2_c2[1]))
print(pointStats)
newPoints = pointStats.map(
lambda st: (st[0], st[1][0]/st[1][1])).collect()
然而,随着该命令而执行脚本
spark-submit kmeans.py
当没有上面打印的实际打印虽然不是后来
print("Final centers: " + str(kPoints))
实际上打印到终端。
有人可以帮我理解为什么吗?