深入理解Spark:核心思想与源码分析. 3.5 Hadoop相关配置及Executor环境变量
3.5.1 Hadoop相关配置信息
默认情况下,Spark使用HDFS作为分布式文件系统,所以需要获取Hadoop相关配置信息的代码如下。
val hadoopConfiguration = SparkHadoopUtil.get.newConfiguration(conf)
获取的配置信息包括:
将Amazon S3文件系统的AccessKeyId和SecretAccessKey加载到Hadoop的Configuration;
将SparkConf中所有以spark.hadoop.开头的属性都复制到Hadoop的Configuration;
将SparkConf的属性spark.buffer.size复制为Hadoop的Configuration的配置io.file.buffer.size。
如果指定了SPARK_YARN_MODE属性,则会使用YarnSparkHadoopUtil,否则默认为SparkHadoopUtil。
3.5.2 Executor环境变量
对Executor的环境变量的处理,参见代码清单3-28。executorEnvs 包含的环境变量将会在7.2.2节中介绍的注册应用的过程中发送给Master,Master给Worker发送调度后,Worker最终使用executorEnvs提供的信息启动Executor。可以通过配置spark.executor.memory指定Executor占用的内存大小,也可以配置系统变量SPARK_EXECUTOR_MEMORY或者SPARK_MEM对其大小进行设置。
代码清单3-28 Executor环境变量的处理
private[spark] val executorMemory = conf.getOption("spark.executor.memory")
.orElse(Option(System.getenv("SPARK_EXECUTOR_MEMORY")))
.orElse(Option(System.getenv("SPARK_MEM")).map(warnSparkMem))
.map(Utils.memoryStringToMb)
.getOrElse(512)
// Environment variables to pass to our executors.
private[spark] val executorEnvs = HashMap[String, String]()
for { (envKey, propKey) - Seq(("SPARK_TESTING", "spark.testing"))
value - Option(System.getenv(envKey)).orElse(Option(System.getProperty (propKey)))} {
executorEnvs(envKey) = value
}
Option(System.getenv("SPARK_PREPEND_CLASSES")).foreach { v =
executorEnvs("SPARK_PREPEND_CLASSES") = v
}
// The Mesos scheduler backend relies on this environment variable to set executor memory.
executorEnvs("SPARK_EXECUTOR_MEMORY") = executorMemory + "m"executorEnvs ++= conf.getExecutorEnv
// Set SPARK_USER for user who is running SparkContext.
val sparkUser = Option {
Option(System.getenv("SPARK_USER")).getOrElse(System.getProperty("user.name"))
}.getOrElse {
SparkContext.SPARK_UNKNOWN_USER
}
executorEnvs("SPARK_USER") = sparkUser
HADOOP MapReduce 处理 Spark 抽取的 Hive 数据【解决方案一】 今天咱先说问题,经过几天测试题的练习,我们有从某题库中找到了新题型,并且成功把我们干趴下,昨天今天就干了一件事,站起来。 java mapeduce 清洗 hive 中的数据 ,清晰之后将driver代码 进行截图提交。
Storm与Spark、Hadoop三种框架对比 Storm与Spark、Hadoop这三种框架,各有各的优点,每个框架都有自己的最佳应用场景。所以,在不同的应用场景下,应该选择不同的框架。
大数据Spark企业级实战与Hadoop实战&PDF和PPT 今天给大家分享的是《大数据Spark企业级实战》与《Hadoop实战》《大数据处理系统·Hadoop源代码情景分析》《50个大厂大数据算法教程》等销量排行前10名的大数据技术书籍(文末领取PDF版)。这些书籍具有以下几个优点:易读、实践性强,对解决工作中遇到的业务问题具有一定启发性。
相关文章
- win7(x64)+VS2012+cocos2d-x环境的配置以及试运行
- ElasticSearch-2.0.0集群安装配置与API使用实践
- nginx配置80端口访问8080+项目名地址
- VMware vCenter6.7配置并验证虚拟机的高可用
- Hadoop-1.2.1 Eclipse开发环境配置
- 安装elasticsearch及中文IK和近义词配置
- k8s安装之服务器基础环境配置
- Hadoop Yarn配置多队列的容量调度器案例
- 已解决PyCharm中配置Anaconda的Python环境并安装TensorFlow的详细步骤
- Hadoop配置安装手册
- 【Nginx】如何使用自签CA配置HTTPS加密反向代理访问?看了这篇我会了!!
- Hadoop 搭建分布式环境 hadoop-3.0.0.tar.gz
- hadoop权威指南 chapter1 Meet Hadoop
- Redis-3.2.0集群配置(redis cluster)
- 华为交换机及防火墙设备配置自动保存配置
- Hadoop 分布式集群配置安装