zoukankan      html  css  js  c++  java
  • Spark配置参数的三种方式

    1.Spark 属性
    Spark应用程序的运行是通过外部参数来控制的,参数的设置正确与否,好与坏会直接影响应用程序的性能,也就影响我们整个集群的性能。参数控制有以下方式:
    (1)直接设置在SparkConf,通过参数的形式传递给SparkContext,达到控制目的。(通过set()方法传入key-value对)比如:

    val conf = new SparkConf()
          .setMaster(”local[2]“) #注意1
          .setAppName(”test“)
          .set("spark.cores.max", "10")  ######set()方法传入属性参数
    val sc = new SparkContext(conf)

            #注意1 本地开启2个线程来工作,注意了,本地工作方式除了集合生成RDD、读取本地文件和hdfs文件能开启一个线程就可以工作外,其他情况都开启至少两条线程才能正常工作。这是由于除以上情况,Spark会开启一个reciver来接受数据,若只有一条线程,reciver就占用唯一线程的资源,而数据处理等操作将没有资源可执行。

    (2)动态加载Spark属性。为了应用程序名字和集群方式等属性不硬编码,灵活应用。可以这样处理:val sc = new SparkContext(new SparkConf())。通过 spark-submit     时添加必要的参数。如:

     ./bin/spark-submit --name "My app" --master local[4] --conf spark.eventLog.enabled=false
              --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" myApp.jar

        方法是:通过 --conf 标志,并在后面以key-value对的形式传入属性参数。

    (3)在conf/spark-defaults.conf 定义必要的属性参数,Spark在启动时,SparkContext会自动加载此配置文件的属性。定义方式是:

     spark.master            spark://master:7077
     spark.executor.memory   4g
     spark.eventLog.enabled  true
     spark.serializer        org.apache.spark.serializer.KryoSerializer    #这里选用此序列化方法,是因为Java自带序列化方法性能一般,在此优化优化。

    一切外部传给Spark应用程序的属性参数,最终与SparkConf里定义的值结合。Spark加载属性参数的优先顺序是:
        (1)直接在SparkConf设置的属性参数
        (2)通过 spark-submit 或 spark-shell 方式传递的属性参数
        (3)最后加载 spark-defaults.conf 配置文件的属性参数
    当然了,既然有优先顺序之分,也就是说优先级高的会覆盖优先级低的参数。

    2.查看应用程序的属性参数
        http://<driver>:4040 
    此UI界面将会列出了Spark的属性,方便我们查看应用程序的属性参数,在性能调优时结合master UI非常有用。

    3.最后献上独家“葵花宝典”,本人针对官网所有的属性参数翻译整理成表格,从此妈妈再也不用担心我设置参数和调优了。下载地址 Spark属性参数翻译

    原创来自:https://www.cnblogs.com/liangjf/p/8142858.html

  • 相关阅读:
    LeetCode Subsets II
    LeetCode Rotate Image
    LeetCode Palidrome Number
    LeetCode Generate Parentheses
    LeetCode Maximum Subarray
    LeetCode Set Matrix Zeroes
    LeetCode Remove Nth Node From End of List
    Linux Loop设备 使用
    Linux 文件系统大小调整
    LeetCode N-Queens II
  • 原文地址:https://www.cnblogs.com/schoolbag/p/9635110.html
Copyright © 2011-2022 走看看