Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySpark:打印到while循环内部的终端_Python_Apache Spark_Pyspark - Fatal编程技术网

Python PySpark:打印到while循环内部的终端

Python PySpark:打印到while循环内部的终端,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,我开始自学Spark,所以我的问题可能真的很傻 无论如何,我正在研究Spark installation提供的一个示例(链接:) 我想修改一下代码,因为我需要更好地理解map reduce操作 我想做的是: while tempDist > convergeDist: print('Here \n') closest = data.map( lambda p: (closestPoint(p, kPoints), (p, 1))) print(clo

我开始自学Spark,所以我的问题可能真的很傻

无论如何,我正在研究Spark installation提供的一个示例(链接:)

我想修改一下代码,因为我需要更好地理解map reduce操作

我想做的是:

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))
实际上是打印到终端的


有人能帮我理解为什么吗?

最近的
点统计
,都是RDD,当你在RDD上打印语句时,你只能在RDD上看到类似于
PythonRDD[36]的语句。除非您在rdd上发布
操作
,否则不会打印其内容,如-

print(closest.collect())
语句
print(“最终中心:“+str(kPoints))
之所以有效,是因为 使用
操作生成kPoints
takeSample
-

kPoints = data.takeSample(False, K, 1)

希望这有帮助。请阅读有关RDD的操作和转换操作之间的差异的更多信息。

最近的
pointStats
,两者都是RDD,当您在RDD上打印语句时,您只能在PythonRDD的RDD处看到类似于
PythonRDD[36]的语句。scala:48
打印在终端上。除非您在rdd上发布
操作
,否则不会打印其内容,如-

print(closest.collect())
语句
print(“最终中心:“+str(kPoints))
之所以有效,是因为 使用
操作生成kPoints
takeSample
-

kPoints = data.takeSample(False, K, 1)
希望这有帮助。请阅读更多关于RDD的操作和转换操作之间的区别