Hadoop 控制split尺寸

Map Split尺寸配置解析
本文介绍了MapReduce中Map任务Split尺寸的三个关键参数及其计算公式。通过实例展示了如何根据mapred.min.split.size、mapred.max.split.size及dfs.block.size来确定实际的Split大小。
三个参数决定Map的Split尺寸

1.mapred.min.split.size
2.mapred.max.split.size
3.dfs.block.size

根据公式:
max(minimumSize,min(maximumSize,blockSize))
默认情况:
minimumSize < blockSize < maximumSize

例子:
min max block split
1M 100M 64M 64M
128M 512M 64M 128M
1M 32M 64M 32M
### 配置Spark在Hadoop基础之上 为了在现有的Hadoop环境中成功部署和运行Spark应用,需要完成一系列必要的配置调整。以下是关于如何实现这一目标的关键点: #### 1. 创建并初始化`SparkConf` 当希望避免硬编码某些配置项时,可以通过动态方式创建一个空的`SparkConf`对象,并通过API设置所需的属性[^1]。例如,在启动集群之前,可以指定与Hadoop兼容的相关参数。 ```scala val conf = new SparkConf() .set("spark.hadoop.fs.defaultFS", "hdfs://namenode:8020") .set("spark.hadoop.mapreduce.input.fileinputformat.split.maxsize", "134217728") // 初始化SparkContext val sc = new SparkContext(conf) ``` 上述代码片段展示了如何利用`SparkConf`来定义特定于Hadoop环境的选项,比如默认文件系统路径以及输入分片的最大尺寸。 --- #### 2. 设置Oozie工作流支持多令牌认证 对于依赖Apache Oozie调度器的应用程序而言,必须确保其能够获取到所有必需的安全令牌以便正常访问各类服务资源[^2]。这包括但不限于YARN Resource Manager、本地/远程HDFS存储位置以及其他可能涉及的服务组件(如Hive或HBase)。 具体操作如下所示: - 编辑作业XML描述文档中的`<action>`节点部分; - 添加对应的数据源URI地址及其关联的身份验证机制说明; 这样做有助于简化跨平台协作流程的同时也增强了系统的整体安全性水平。 --- #### 3. 清理容器日志策略优化建议 为了避免长时间积累下来的无用历史记录占用过多磁盘空间,默认情况下不会自动删除旧版的日志文件副本[^3]。因此推荐采取以下措施加以改进: 更新全局范围内的yarn-site.xml配置文件内容之后重启相应名称服务器进程即可生效。值得注意的是即使完成了以上步骤仍然有可能存在遗留数据未被及时清除的情况发生所以还需要定期执行手动干预清理任务以维持良好的性能表现状态. --- #### 4. JVM重用功能启用指南 适当开启JVM复用模式可以帮助减少频繁加载卸载带来的额外开销从而提升整个计算框架的工作效率[^4]. 只需简单修改mapred-site.xml内部相关字段数值便可轻松达成目的 : ```xml <property> <name>mapreduce.job.jvm.numtasks</name> <value>15</value> <description>控制单个jvm可重复使用的最大次数.</description> </property> ``` 此处我们将该值设定为15意味着每一个独立java虚拟机最多允许连续处理十五批次子任务单元后再予以释放销毁回收再利用节省宝贵硬件算力成本投入产出比更高更经济实惠划算得多! --- ### 总结 综上所述,合理规划好各项技术细节方面的安排才能充分发挥出各自优势特点最大化业务价值创造潜力无限可能性等待探索发现...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值