任何人杰出的应用领域软件或服务项目单厢提供一些实用性模块,那些实用性模块很多是内建的,很多则是能由选用者实用性的。对熟识Java的开发者而言,对JVM展开操控性Listary是两个时常需要直面的工作,那个过程时常充斥着各种JVM模块的修正与试验。或许将那些模块交予具体内容的开发者去修正,原因在于应用领域软件或是服务项目的接受者也难以确保取值的预设模块是最合乎选用者应用领域情景与硬件自然环境的。两个单纯的范例:当选用者的QPS发生改变时,对Web服务项目的JVM而言也应适当修正缓存的大小不一或管制。

Spark做为这款杰出的排序架构,也配有了各式各样的控制系统实用性模块(比如:spark.master,spark.app.name,spark.driver.memory,spark.executor.memory等)。透过那些实用性模块能表述应用领域的中文名称、选用的布署商业模式、运维商业模式、executor数目、executor的Mach数、driver或executor的缓存大小不一、选用的缓存数学模型等。

SparkConf是Spark的实用性类,那个类在Spark的历史版中已经存在好久了,Spark中的每两个模块都直接或是间接地的选用着它所储存的特性,那些特性都储存在如下表所示的排序机程序中:

[java]view plain copy

privateval settings =newConcurrentHashMap[String, String]()

由以上标识符的C#[1] 能窥见Spark的所有实用性,不论是key还是value都是String类别。Spark的实用性透过下列四种形式以获取:

源于控制系统模块(即选用System.getProperties以获取的特性)中以spark.做为后缀的那部分特性;选用SparkConf的API展开增设;从其他SparkConf中布季夫。

上面将具体内容表明这四种形式的实现。

控制系统特性中的实用性

在SparkConf中有两个Boolean类别的内部结构器特性loadDefaults,当loadDefaults为true时将会从控制系统特性中读取Spark实用性,标识符如下表所示:

[java]view plain copy

if(loadDefaults) {loadFromSystemProperties(false)}private[spark] def loadFromSystemProperties(silent: Boolean): SparkConf = {// Load any spark.* system propertiesfor((key, value)

1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!