Ошибка при попытке использовать метод count на rdd с pyspark - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь запустить следующий код:

lst = [25, 90, 81, 37, 776, 3320]
testData = sc.parallelize(lst)
testData.count()

Но я получаю следующую ошибку:

--------------------------------------------------------------------------- Py4JJavaError Traceback (последний вызов был последним) в ----> 1 testData.count ()

D: \ Spark \ python \ pyspark \ rdd.py in count (self) 1053 3
1054 "" "-> 1055 return self.mapPartitions (лямбда i: [sum (1 для _ in i)]). sum () 1056 1057 def stats (self):

D: \ Spark \ python \ pyspark \ rdd.py в сумме (self) 1044 6.0
1045 "" "-> 1046 return self.mapPartitions (лямбда-x: [sum (x)]).fold (0, operator.add) 1047 1048 def count (self):

D: \ Spark \ python \ pyspark \ rdd.py в fold (self, zeroValue, op) 915 # zeroValue предоставляется каждомураздел уникален от предоставленного 916 # до последнего вызова Reduce -> 917 vals = self.mapPartitions (func) .collect () 918 return return (op, vals, zeroValue) 919

D: \Spark \ python \ pyspark \ rdd.py в collect (self) 814 "" "815 с SCCallSiteSync (self.context) as css: -> 816 sock_info = self.ctx._jvm.PythonRDD.collectAndServe (self._jrdd.rdd ()) 817 список возврата (_load_from_socket (sock_info, self._jrdd_deserializer)) 818

D: \ Spark \ python \ lib \ py4j-0.10.7-src.zip \ py4j \ java_gateway.py в вызов (self, * args) 1255 answer = self.gateway_client.send_command (команда)1256 return_value = get_return_value (-> ответ 1257, self.gateway_client, self.target_id, self.name) 1258 1259 для temp_arg в temp_args:

D: \ Spark \ python \ pyspark \ sql \ utils.py вdeco (* a, ** kw) 61 def deco (* a, ** kw): 62 try: ---> 63 возвращает f (* a, ** kw) 64 за исключением py4j.protocol.Py4JJavaError как e: 65s = e.java_exception.toString ()

D: \ Spark \ python \ lib \ py4j-0.10.7-src.zip \ py4j \ protocol.py в get_return_value (ответ, gateway_client, target_id, name)326 повысить Py4JJavaError (327 "Ошибка при вызове {0} {1} {2}. \ N".-> 328 формат (target_id, ".", Name), значение) 329 еще: 330 поднять Py4JError (

Py4JJavaError: Произошла ошибка при вызове z: org.apache.spark.api.python.PythonRDD.collectAndServe.: org.apache.spark.SparkException: задание прервано из-за сбоя этапа: задание 2 на этапе 1.0 не выполнено 1 раз, последний сбой: потерянное задание 2.0 на этапе 1.0 (TID 10, localhost, драйвер исполнителя): org.apache.spark.SparkException: работнику Python не удалось подключиться обратно. org.apache.spark.api.python.PythonWorkerFactory.createSimpleWorker (PythonWorkerFactory.scala: 170) в org.apache.spark.api.python.PythonWorkerFactory.ythonWorkerFactory..scala: 97) в org.apache.spark.SparkEnv.createPythonWorker (SparkEnv.scala: 117) в org.apache.spark.api.python.BasePythonRunner.compute (PythonRunner.scala: 108) в org.apache.spark.api.python.PythonRDD.compute (PythonRDD.scala: 65) в org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 324) в org.apache.spark.rdd.RDD.iterator (RDD.scala:288) в org.apache.spark.scheduler.ResultTask.runTask (ResultTask.scala: 90) в org.apache.spark.scheduler.Task.run (Task.scala: 121) в org.apache.spark.executor.Executor $ TaskRunner $$ anonfun $ 10.apply (Executor.scala: 402) в org.apache.spark.util.Utils $ .tryWithSafeFinally (Utils.scala: 1360) в org.apache.spark.executor.Executor $ TaskRunner.run (Executor.scala: 408) в Java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) вjava.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в java.lang.Thread.run (Thread.java:748) Причина: java.net.SocketTimeoutException: Принять тайм-аут на java.net.DualStackPlainSocketImpl.waitForNewConnection (собственный метод) в java.net.DualStackPlainSocketImpl.socketAccept (DualStackPlainSocketImpl.java:135) в java.net.AbstractPlainSocketImpl.accept.mpl.jljj.jpg199) в java.net.ServerSocket.implAccept (ServerSocket.java:545) в java.net.ServerSocket.accept (ServerSocket.java:513) в org.apache.spark.api.python.PythonWorkerFactory.createSimpleWorker (Python): 164) ... еще 14

Отслеживание стека драйверов: org.apache.spark.scheduler.DAGScheduler.org $ apache $ spark $ scheduler $ DAGScheduler $$ failJobAndIndependentStages (DAGScheduler.scala: 1887) в орг.apache.spark.scheduler.DAGScheduler $$ anonfun $ abortStage $ 1.apply (DAGScheduler.scala: 1875) в org.apache.spark.scheduler.DAGScheduler $$ anonfun $ abortStage $ 1.apply (DAGScheduler.scala: 1874) в scala.collection.mutable.ResizableArray $ class.foreach (ResizableArray.scala: 59) в scala.collection.mutable.ArrayBuffer.foreach (ArrayBuffer.scala:48) в org.apache.spark.scheduler.DAGScheduler.abortStage (DAGScheduler.scala: 1874) в org.apache.spark.scheduler.DAGScheduler $$ anonfun $ handleTaskSetFailed $ 1.apply (DAGScheduler.scala: 926 at или 926 в).spark.scheduler.DAGScheduler $$ anonfun $ handleTaskSetFailed $ 1.apply (DAGScheduler.scala: 926) в scala.Option.foreach (Option.scala: 257) в org.apache.spark.scheduler.DAGScheduler.handleTasksclaS (: 926) в org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive (DAGScheduler.scala: 2108) в org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive (DAGScheduler.scala: 2057) илиDAGSchedulerEventProcessLoop.onReceive (DAGScheduler.scala: 2046) в org.apache.spark.util.EventLoop $$ anon $ 1.run (EventLoop.scala: 49) в org.apache.spark.scheduler.DAGScheduler.runJob (DAGScheduler.scala: 737) в org.apache.spark.SparkContext.runJob (SparkContext.scala: 2061) в org.apache.spark.SparkContext.runJob (SparkContext.scg: SparkContext) или.apache.spark.SparkContext.runJob (SparkContext.scala: 2101) в org.apache.spark.SparkContext.runJob (SparkContext.scala: 2126) в org.apache.spark.rdd.RDD $$ anonfun $ собирать $ 1.apply(RDD.scala: 945) в org.apache.spark.rdd.RDDOperationScope $ .withScope (RDDOperationScope.scala: 151) в org.apache.spark.rdd.RDDOperationScope $ .withScope (RDDOperationScope.scala: 112) в орг.apache.spark.rdd.RDD.withScope (RDD.scala: 363) в org.apache.spark.rdd.RDD.collect (RDD.scala: 944) в org.apache.spark.api.python.PythonRDD $ .collectAndServe(PythonRDD.scala: 166) в org.apache.spark.api.python.PythonRDD.collectAndServe (PythonRDD.scala) в sun.reflect.NativeMethodAccessorImpl.invoke0 (нативный метод) в sun.reflect.NativeMethoor: 62) на sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в py4j.reflection.MethodInvoker.invoke (MethodInvoker.java:244) в py4j.reflection.ReflectionEngine.ngine..java: 357) в py4j.Gateway.invoke (Gateway.java:282) в py4j.commands.AbstractCommand.invokeMethod (AbstractCommand.java:132) в py4j.commands.CallCommand.execute (CallCommand.java:79) в py4j.GatewayConnection.run (GatewayConnection.java:238) в java.lang.Thread.run (Thread.java:748) Причина: org.apache.spark.SparkException: работнику Python не удалось подключиться обратно.в org.apache.spark.api.python.PythonWorkerFactory.createSimpleWorker (PythonWorkerFactory.scala: 170) вorg.apache.spark.вычислить (PythonRunner.scala: 108) в org.apache.spark.api.python.PythonRDD.compute (PythonRDD.scala: 65) в org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 324) в org.apache.spark.rdd.RDD.iterator (RDD.scala: 288) в org.apache.spark.scheduler.ResultTask.runTask (ResultTask.scala: 90) в org.apache.spark.scheduler.Task.run (задача.scala: 121) в org.apache.spark.executor.Executor $ TaskRunner $$ anonfun $ 10.apply (Executor.scala: 402) в org.apache.spark.util.Utils $ .tryWithSafeFinally (Utils.scala: 1360)в org.apache.spark.executor.Executor $ TaskRunner.run (Executor.scala: 408) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolrecun $(ThreadPoolExecutor.java:624) ... еще 1 причина: java.net.SocketTimeoutException: Acceвремя ожидания pt на java.net.DualStackPlainSocketImpl.waitForNewConnection (собственный метод) на java.net.DualStackPlainSocketImpl.socketAccept (DualStackPlainSocketImpl.java:135) на java.net.AbstractPlainSocketImpl .jj. at9.PlainSocketImpl.accept (PlainSocketImpl.java:199) в java.net.ServerSocket.implAccept (ServerSocket.java:545) в java.net.ServerSocket.accept (ServerSocket.java:513) в org.apache.spark.api.py.PythonWorkerFactory.createSimpleWorker (PythonWorkerFactory.scala: 164) ... еще 14

Я пробовал некоторые другие методы, и они отлично работают, эта ошибка появляется только в этом.

...