代码之家  ›  专栏  ›  技术社区  ›  Stepan Yakovenko

如何在spark中指定als工作线程的数量?[复制品]

  •  0
  • Stepan Yakovenko  · 技术社区  · 6 年前

    我找到了一些本地启动spark的代码:

    val conf = new SparkConf().setAppName("test").setMaster("local[*]")
    val ctx = new SparkContext(conf)
    

    什么是 [*] 意思是?

    0 回复  |  直到 6 年前
        1
  •  57
  •   gsamaras eudoxos    8 年前

    doc :

    ./bin/spark-shell --master local[2]
    

    --master选项指定分布式 集群,或本地使用一个线程在本地运行,或本地[n]运行 本地有n个线程。你应该从使用本地进行测试开始。

    here :

    local[*]在本地运行spark,其工作线程数与逻辑线程数相同 你机器上的核心。

        2
  •  34
  •   FreeMan    7 年前

    主URL含义


    地方的 :使用一个工作线程在本地运行spark(即根本没有并行性)。


    局部〔K〕 :使用k个工作线程在本地运行spark(理想情况下,将此值设置为计算机上的内核数)。


    局部[ k,f ] :使用k个工作线程和f maxfailures在本地运行spark(有关此变量的说明,请参阅spark.task.maxfailures)


    地方[*] :在本地运行spark,其工作线程数与计算机上的逻辑核心数相同。


    局部[ *,f] :在本地运行spark,其工作线程数与计算机上的逻辑核心数和f maxfailures数相同。


    spark://host:端口 :连接到给定的Spark独立群集主机。端口必须是主服务器配置使用的端口,默认为7077。


    spark://host1:port1,host2:port2 :使用带有ZooKeeper的备用主机连接到给定的Spark独立群集。该列表必须使用zookeeper设置高可用性集群中的所有主主机。端口必须是每个主机配置使用的端口,默认为7077。


    mesos://host:端口 :连接到给定的mesos群集。端口必须是您配置使用的端口,默认为5050。或者,对于使用zookeeper的mesos集群,使用mesos://zk://…。若要使用--deploy模式群集提交,应将host:port配置为连接到mesosclusterDispatcher。


    纱线 :根据--deploy mode的值,在客户端或群集模式下连接到一个yarn群集。集群位置将基于hadoop_conf_dir或yarn_conf_dir变量找到。

    https://spark.apache.org/docs/latest/submitting-applications.html

        3
  •  11
  •   mat77    8 年前

    一些附加信息

    不要在主机配置为“本地”或“本地[1]的情况下在本地运行Spark流媒体程序。这只为任务分配一个cpu,如果一个接收器正在其上运行,则没有剩余资源来处理接收到的数据。至少使用“local[2]”可以拥有更多的内核。

    从学习火花:闪电般快速的大数据分析

        4
  •  4
  •   Ram Ghadiyaram    5 年前

    Master URL

    你可以使用本地模式运行spark local, local[n] 或是最普通的 local[*] 对于主URL。

    url显示总共可以使用多少线程:

    local 仅使用一个线程。

    local[n] 使用n个线程。

    地方[*] 使用与Java虚拟机可用的处理器数量一样多的线程(它使用 Runtime.getRuntime.availableProcessors() 知道号码)。

    local[N, maxFailures] (通过重试调用本地)使用 N 存在 * 或者要使用的线程数(如上所述)和maxfailures是 spark.task.maxFailures .