hadoop基本用法回顾(MapFile)

其实MapFile就是一种经过排序后的SequenceFile,它的record包括index和data值,index作为文件的索引,作用是记录SequenceFile的key值,在每次加载时,先把index加载进入内存,所以这种方法比Sequence要快得多。实现细节基本和上一篇Sequence的原理一样,只不过它的对象是MapFile.Reader。具体实现代码如下:

/**
 * MapFile的实现;
 * MapFile是排序后的SequenceFile
 * MapFile访问文件时,会首先把index加载到内存中,然后在根据index快速定位到文件所在位置,比起SequenceFile要快得多。
 * MapFile写过程:
 * ①创建Configure对象
 * ②获取到FileSystem对象
 * ③设置文件的输出路径
 * ④创建MapFile.Writer对象
 * */
public class MapFileDemo {
	Configuration conf;
	FileSystem fs;
	@Before
	public void run() throws IOException {
		conf = new Configuration();
		fs = FileSystem.get(conf);
		
	}
	@After
	public void close() throws IOException{
		fs.close();
	}
	/**
	 * 测试写MapFile
	 * */
	@Test
	public void WriteMap() throws IOException {
		
		Path path = new Path("/0222/mymap.map");
		Text key = new Text();
		Text value = new Text();
		key.set(&#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值