私は自分でスパークを学び始めているので、私の質問は本当にばかげているかもしれません。PySpark:ループ中の端末に印刷
とにかく、私は、Sparkのインストール(リンク:https://github.com/apache/spark/blob/master/examples/src/main/python/kmeans.py)によって提供された例に取り組んでいます
そして私はより良いマップ-減らす操作を理解する必要があるので、私は少しにコードを変更したいです。
私は何をしようとしていることである:
コマンドでspark-submit 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()
しかし、上記のプリントのどれも実際に印刷されていない代わりに、後に
ながらprint("Final centers: " + str(kPoints))
実際に端末に印刷されます。
理由を理解するのを助けることができる人はいますか?