Я изучаю 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')]
Я не уверен, что я должен делать, чтобы избавиться от этой ошибки и запустить простой код.