我用的是pyspark
我使用这个代码:
a = rdd.map(lambda x: function).toLocalIterator()
from collections import Counter
c = sum(a,Counter())
得到以下错误
ERROR LiveListenerBus: SparkListenerBus has already stopped! Dropping event
SparkListenerStageCompleted(org.apache.spark.scheduler.StageInfo@1ada509b)
WARN-Utils:抑制finally中的异常:连接重置 java.net.SocketException:连接重置于 java.net.SocketOutputStream.socketWrite公司(SocketOutputStream.java:115) 在java.net.SocketOutputStream.写入(SocketOutputStream.java:155)在 java.io.BufferedOutputStream.刷新缓冲区(BufferedOutputStream.java:82) 在java.io.BufferedOutputStream.冲洗(BufferedOutputStream.java:140) 在java.io.DataOutputStream.冲洗(DataOutputStream.java:123)在 java.io.FilterOutputStream.关闭(FilterOutputStream.java:158)在 org.apache.spark网站.api.python.PythonRDD$$anon$2$$anonfun$运行$2。应用$mcV$sp(Python。鳞片:707) 在org.apache.spark网站.实用工具$.tryWithSafeFinally最终(实用工具.scala:1346) 在 org.apache.spark网站.api.python.PythonRDD$$anon$2.跑步(Python。鳞片:706) 抑制:java.net.SocketException:在处断开管道(写入失败) java.net.SocketOutputStream.socketWrite0(本机方法),位于 java.net.SocketOutputStream.socketWrite公司(SocketOutputStream.java:111) 在java.net.SocketOutputStream.写入(SocketOutputStream.java:155) 在 java.io.BufferedOutputStream.刷新缓冲区(BufferedOutputStream.java:82) 在java.io.BufferedOutputStream.冲洗(BufferedOutputStream.java:140) 在java.io.FilterOutputStream.关闭(FilterOutputStream.java:158) 在java.io.FilterOutputStream.关闭(过滤器输出流.java:159) ... 3个以上
当我改用这段代码时,它会得到正确的结果,不会出错
^{pr2}$我试着在rdd映射中使用分区。在
什么都不管用。在
这两个代码部分应该以相同的方式工作,有什么区别?为什么第一个不起作用?在
谢谢
问题是驱动程序内存不足,我用
在启动spark上下文之前
相关问题 更多 >
编程相关推荐