Hadoop学习4

来源:互联网 发布:卖海关数据公司怎么样 编辑:程序博客网 时间:2024/06/10 21:35

调优:

1采用大文件

对小文件进行合并或者使用Hadoop的CombineFileInputFormat将多个文件打包到一个输入单元面

2压缩文件

对Map的输出进行压缩将mapred.compress.map.output属相设置为true对输出进行压缩,设置mapred.map.output.compression.codec设置压缩格式

3过滤数据

在作业执行前清楚无用数据使用Bloom Filter 类

修改作业属性

修改服务器上运行的作业个数

MapReduce工作流

MapReduce基类中的其他函数

setup函数
在task启动开始就调用(map task或reduce task),全局变量初始化,只调用一次,map或reduce中的重复处理放到该函数

cleanup函数

在task销毁前执行

run函数

是map类或者reduce类的启动函数

mapreduce job 全局共享数据

读写HDFS文件

由于map task 和 reduce task 运行在不同的JVM上,代码级别的全局变量不理想,可以预定义好一个文件夹放置全局共享数据,I/O,占资源

配置Job属性

在任务启动初使用Configuration类的set(String name,String value)然后在task中使用get(string name)获取全局数据,只能是小数据

使用DistributedCache

mapreduce 为应用程序提供的缓存文件只读工具
Configuration conf = new Configuration ()
DistributedCache.addCacheFile(new URI(“XX”))

0 0
原创粉丝点击