【问题标题】:What is the Master URL in pyspark?pyspark 中的主 URL 是什么?
【发布时间】:2014-10-14 08:13:05
【问题描述】:

当我运行 pyspark.SparkContext('loc', 'pyspark_rec') 时,出现了一个错误,说它无法解析 master URL。作为 spark 编程的初学者,我不太清楚这意味着什么。但就我的代码而言,我没有使用任何部署模块(YARN、Hadoop 等),而是在独立模式下测试代码。因此,我相信将 URL 分配给“loc”是可以的。但是有人可以向我解释我应该如何解决这个问题吗?谢谢。

以下是错误代码。

File "recommender.py", line 112, in spark_recommendations
    sc = pyspark.SparkContext('loc', 'pyspark_rec')



File "/Users/chlee021690/Desktop/Programming/spark/python/pyspark/context.py", line 134, in __init__
    self._jsc = self._initialize_context(self._conf._jconf)

  File "/Users/chlee021690/Desktop/Programming/spark/python/pyspark/context.py", line 180, in _initialize_context
    return self._jvm.JavaSparkContext(jconf)

  File "/Users/chlee021690/anaconda/lib/python2.7/site-packages/py4j/java_gateway.py", line 701, in __call__
    self._fqn)

  File "/Users/chlee021690/anaconda/lib/python2.7/site-packages/py4j/protocol.py", line 300, in get_return_value
    format(target_id, '.', name), value)

Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: org.apache.spark.SparkException: Could not parse Master URL: 'loc'
    at org.apache.spark.SparkContext$.org$apache$spark$SparkContext$$createTaskScheduler(SparkContext.scala:1564)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:307)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:234)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:379)
    at py4j.Gateway.invoke(Gateway.java:214)
    at py4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:79)
    at py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:68)
    at py4j.GatewayConnection.run(GatewayConnection.java:207)
    at java.lang.Thread.run(Thread.java:744)

【问题讨论】:

    标签: python apache-spark


    【解决方案1】:

    你会使用类似的东西

    ./bin/pyspark --master local[8]
    
    
    from pyspark import SparkContext
    sc = SparkContext("local", "context")
    

    【讨论】:

    • [N]MASTER_URL 中做了什么? --help不说:spark://host:port, mesos://host:port, yarn, k8s://https://host:port, or local (Default: local[*]).
    • 这是顺便an abuse of URIs...
    【解决方案2】:

    主 url 通常是 ip 地址(如果是服务器)或独立系统的本地主机。

    单机模式:spark://localhost:7077

    服务器模式:spark://your-master-server-ip-address:7077

    【讨论】:

      猜你喜欢
      • 2022-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 2012-11-06
      • 2011-09-05
      • 1970-01-01
      • 2018-03-01
      相关资源
      最近更新 更多