【大数据系列】基于MapReduce的数据处理 SequenceFile序列化文件
2017-08-01 15:49
501 查看
为键值对提供持久的数据结构
key-value格式,若干行记录,类似于map
测试方法的输出为:
1=tom1
2=tom2
3=tom3
4=tom4
1、txt纯文本格式,若干行记录
2、SequenceFile
key-value格式,若干行记录,类似于map
3、编写写入和读取的文件
package com.slp; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.SequenceFile; import org.apache.hadoop.io.SequenceFile.Reader; import org.apache.hadoop.io.SequenceFile.Writer; import org.apache.hadoop.io.Text; import org.junit.Test; public class TestSequenceFile { @Test public void write() throws IOException{ Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://www.node1.com:9000/"); FileSystem fs = FileSystem.get(conf); Path path = new Path("hdfs://www.node1.com:9000/home/hadoop/seq.seq"); Writer writer = SequenceFile.createWriter(fs, conf, path, IntWritable.class, Text.class); writer.append(new IntWritable(1), new Text("tom1")); writer.append(new IntWritable(2), new Text("tom2")); writer.append(new IntWritable(3), new Text("tom3")); writer.append(new IntWritable(4), new Text("tom4")); writer.close(); System.out.println("over"); } @Test public void readSeq() throws IOException{ Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://www.node1.com:9000/"); FileSystem fs = FileSystem.get(conf); Path path = new Path("hdfs://www.node1.com:9000/home/hadoop/seq.seq"); Reader reader = new SequenceFile.Reader(fs, path, conf); IntWritable key = new IntWritable(); Text value = new Text(); while(reader.next(key, value)){ System.out.println(key+"="+value); } reader.close(); } }
测试方法的输出为:
1=tom1
2=tom2
3=tom3
4=tom4
4、查看文件
相关文章推荐
- [大牛翻译系列]Hadoop(19)MapReduce 文件处理:基于压缩的高效存储(二)
- [大牛翻译系列]Hadoop(18)MapReduce 文件处理:基于压缩的高效存储(一)
- 基于文件数据库的规则引擎处理海量高复杂度数据(二,解决方案)
- OpenRS—— 开放式遥感数据处理与服务平台 OpenRS-Cloude:基于MapReduce的并行遥感处理系统
- 基于MFC的大型数据文件处理方法
- Python3 模拟MapReduce处理分析大数据文件——《Python宝典》
- 基于MFC的大型数据文件处理方法
- 基于MFC的大型数据文件处理方法
- Hadoop MapReduce处理海量小文件:基于CombineFileInputFormat(整个小文件读入到map中)
- 基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
- Hadoop系列之二:大数据、大数据处理模型及MapReduce
- 基于MFC的大型数据文件处理方法
- Hadoop MapReduce处理海量小文件:基于CombineFileInputFormat(每次往map中读入1行)
- mapreduce读取sequencefile文件中的数据
- 基于MFC的大型数据文件处理方法
- PC Camera开发日志(十五)---- 基于MFC的大型数据文件处理方法
- Hadoop MapReduce处理小的压缩文件:基于CombineFileInputFormat
- Hadoop系列之二:大数据、大数据处理模型及MapReduce
- Hadoop MapReduce处理海量小文件:基于CombineFileInputFormat
- Hadoop系列之二:大数据、大数据处理模型及MapReduce