hadoop 学习笔记 四 -----hadoop I/O
来源:互联网 发布:域名ip地址url 编辑:程序博客网 时间:2024/06/05 11:43
1.LocalFileSystem 执行客户端的校验和验证
public static void main(String[] args) throws Exception {String uri = args[0];Configuration conf = new Configuration();// 执行客户端的校验和验证,系统在么一个需操作的文件目录新建一个.filename.crc的隐藏文件,//大小由io.bytes.per.checksum控制FileSystem fs = new LocalFileSystem();fs.initialize(URI.create(uri), conf);}
public static void main(String[] args) throws Exception {String uri = args[0];Configuration conf = new Configuration();FileSystem fs = new RawLocalFileSystem();fs.initialize(URI.create(uri), conf);}
3.压缩
创建一个file.gz的压缩文件:gzip -p file
4.CompressionCodec 对数据流进行压缩和解压缩
public static void main(String[] args) throws Exception {//Configuration conf = new Configuration();CompressionCodec codec = (CompressionCodec) ReflectionUtils.newInstance(FileSystemCat.class, conf);CompressionOutputStream out = codec.createOutputStream(System.out);IOUtils.copyBytes(System.in, out, 4096, false);}
public static void main(String[] args) throws Exception {String uri = args[0];Configuration conf = new Configuration();FileSystem fs = FileSystem.get(URI.create(uri), conf);CompressionCodecFactory factory = new CompressionCodecFactory(conf);CompressionCodec codec = factory.getCodec(new Path(uri));//...}
6.批量解压和压缩,使用codepool压缩池
public static void main(String[] args) throws Exception {String uri = args[0];Configuration conf = new Configuration();FileSystem fs = FileSystem.get(URI.create(uri), conf);CompressionCodecFactory factory = new CompressionCodecFactory(conf);CompressionCodec codec = factory.getCodec(new Path(uri));Compressor compressor = CodecPool.getCompressor(codec);CompressionOutputStream out =codec.createOutputStream(System.out, compressor);IOUtils.copyBytes(System.in, out, 4096, false);out.flush();CodecPool.returnCompressor(compressor);//不同的数据流之间可以来回复制数据,}
7.MapReduce作业输出进行压缩配置:mapred.output.compress设置为true,mapred.output.compression.codec属性设置为打算使用压缩的codec的类名
mapred.output.compression.type设置压缩格式,默认为RECORD:针对每条记录进行压缩,BLOCK:针对一组进行压缩(推荐)
8.
9.序列化:将结构化对象转化为字节流,可以实现网络传输和磁盘写入永久保存;反序列化:将字节流转回结构化对象。hadoop上体现:进程通信和永久存储
10.RPC:远程过程调用。
11.writable 接口:是hadoop的核心,大多数MapReduce程序都会为键值使用它。
11.1 定义两个方法:write(DataOutput out) 和 readFields(DataInput in)
11.2IntWritable 对象 set()设置值,deserialize()从刚写的输出数据中读取数据,get() 获取数值
11.3 WritableComparable 和 comparator
11.4
12.Text类型:Text是针对utf-8序列的Writable类
13. BytesWritable 对二进制数据数组的封装。它序列化格式为一个用于指定后面数据字节数的整数域(4个字节),后跟字节本身。
14. NullWritable 是Writable的一个特殊的类,序列化长度为0,可以充当占位符。
15.ObjectWritable 和 GenericWritable
16.Writable集合类:ArrayWritable,TwoDArrayWritable,MapWritable,SortMapWritable。
17.序列化框架:Serialization ,io.serizalization属性设置为一个由句点分隔的类名列表,默认值为WritableSerizlization。
18.序列化:IDL(接口定义语言)
19.avro 是一个独立于编程语言的数据序列化系统。
20.SequenceFile 小文件容器。
21.MapFile 是已经排序的SequenceFile,加入了搜索键的索引。
- hadoop 学习笔记 四 -----hadoop I/O
- Hadoop学习笔记之---Hadoop I/O
- hadoop I/O笔记
- 《hadoop权威指南》学习笔记-hadoop I/O之压缩
- 《hadoop权威指南》学习笔记-hadoop I/O之Avro
- 《hadoop权威指南》学习笔记-hadoop I/O之SequenceFile
- hadoop学习笔记(10)-HDFS I/O性能测试
- 《hadoop权威指南》学习笔记-hadoop I/O之序列化
- Hadoop I/O操作(笔记)
- 笔记:Hadoop权威指南 第4章 Hadoop I/O
- 4.Hadoop I/O
- hadoop的I/O
- Hadoop I/O
- Hadoop I\O之一
- Hadoop I/O
- Hadoop I/O
- Hadoop I/O
- Hadoop I/O
- GreenDao3.2数据库使用教程
- Linux
- ros空间中只编译特定软件包的方法
- 规模机器学习系统中的No Free Lunch | CCTC 2017 AI专场干货分享
- 关于junit单元测试无法注入问题
- hadoop 学习笔记 四 -----hadoop I/O
- swagger+springmvc
- 接口 EnvironmentAware
- OpenGL ES的API简单分析
- ##仿华为天气动画
- Linux文件系统
- 《Java开发手册》来啦!你是完美程序员吗?
- stay sharp
- pb编码境界