Py4JJavaError в моей простой программе pySpark в JupyterHub - PullRequest
0 голосов
/ 13 сентября 2018

Я изучаю PySpark, и в моей школе настроен JupyterHub с Spark.Когда я пытаюсь запустить следующую команду в новой записной книжке, она работает.

import pyspark
import random

sc = pyspark.SparkContext(appName="Pi")
sc.stop()

Также при вызове

sc._conf.getAll()

выдает следующий вывод

[('spark.driver.port', '32881'),
 ('spark.rdd.compress', 'True'),
 ('spark.app.id', 'local-1536844309398'),
 ('spark.app.name', 'Pi'),
 ('spark.serializer.objectStreamReset', '100'),
 ('spark.master', 'local[*]'),
 ('spark.executor.id', 'driver'),
 ('spark.submit.deployMode', 'client'),
 ('spark.driver.host', 'atmclab-1.c.tribal-bird-215623.internal'),
 ('spark.ui.showConsoleProgress', 'true')]

Теперь, если я использую следующую программу из этого блога

import pyspark
import random
sc = pyspark.SparkContext(appName="Pi")
num_samples = 100000000
def inside(p):     
  x, y = random.random(), random.random()
  return x*x + y*y < 1
count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi = 4 * count / num_samples
print(pi)
sc.stop()

выдает следующее

---------------------------------------------------------------------------
Py4JJavaError                             Traceback (most recent call last)
<ipython-input-1-ef2caed029bf> in <module>()
      6   x, y = random.random(), random.random()
      7   return x*x + y*y < 1
----> 8 count = sc.parallelize(range(0, num_samples)).filter(inside).count()
      9 pi = 4 * count / num_samples
     10 print(pi)

.
.
.
.

Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: java.lang.IllegalArgumentException
    at org.apache.xbean.asm5.ClassReader.<init>(Unknown Source)

Я попытался использовать команду

sc._conf.getAll()

и выдает следующий вывод

[('spark.driver.port', '32881'),
 ('spark.rdd.compress', 'True'),
 ('spark.app.id', 'local-1536844309398'),
 ('spark.app.name', 'Pi'),
 ('spark.serializer.objectStreamReset', '100'),
 ('spark.master', 'local[*]'),
 ('spark.executor.id', 'driver'),
 ('spark.submit.deployMode', 'client'),
 ('spark.driver.host', 'atmclab-1.c.tribal-bird-215623.internal'),
 ('spark.ui.showConsoleProgress', 'true')]

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

...