Ошибка при запуске Spark на автономном кластере

Я пытаюсь запустить простой код Spark в автономном кластере. Ниже приведен код:

from pyspark import SparkConf,SparkContext

if __name__ == "__main__":
    conf = SparkConf().setAppName("even-numbers").setMaster("spark://sumit-Inspiron-N5110:7077")
    sc = SparkContext(conf)
    inp = sc.parallelize([1,2,3,4,5])
    even = inp.filter(lambda x: (x % 2 == 0)).collect()
    for i in even:
        print(i)

но я получаю сообщение об ошибке «Не удалось проанализировать главный URL»:

py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: org.apache.spark.SparkException: Could not parse Master URL: '<pyspark.conf.SparkConf object at 0x7fb27e864850>'
    at org.apache.spark.SparkContext$.org$apache$spark$SparkContext$$createTaskScheduler(SparkContext.scala:2760)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:501)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:247)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
    at py4j.Gateway.invoke(Gateway.java:236)
    at py4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:80)
    at py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69)
    at py4j.GatewayConnection.run(GatewayConnection.java:214)
    at java.lang.Thread.run(Thread.java:748)

18/01/07 16:59:47 INFO ShutdownHookManager: Shutdown hook called
18/01/07 16:59:47 INFO ShutdownHookManager: Deleting directory /tmp/spark-0d71782f-617f-44b1-9593-b9cd9267757e

Я также попытался установить мастер как «местный», но это не сработало. Может кто поможет?

И да, команда для запуска задания

./bin/spark-submit even.py


person Sumit    schedule 07.01.2018    source источник


Ответы (1)


Замените следующую строку

sc = SparkContext(conf)

с участием

sc = SparkContext(conf=conf)

вы должны решить эту проблему.

person Ramesh Maharjan    schedule 07.01.2018
comment
Я думаю, что в Spark 2.2 (conf = conf) стал обязательным синтаксисом. Я помню, sc = SparkContext (conf) работал с более ранней версией. Благодаря тонну!! - person Sumit; 08.01.2018