Hadoop的API官网:http://hadoop.apache.org/common/docs/current/api/index.html
 
相关的包
org.apache.hadoop.io
org.apache.hadoop.io.compress
org.apache.hadoop.io.file.tfile
org.apache.hadoop.io.serializer.arvo
 
Apache官网的sort900实验用了900台主机
淘宝用了1500台主机来存储数据。
Hadoop采用CRC-32来校验数据。
 
数据完整性:
1:本地文件的IO检查
校验和机制的相关的类:org.apache.hadoop.fs.ChecksumFileSystem来读取相关的类
禁用校验和机制:修改src/core/core-default.xml中的fs.file.impl的值为org.apache.hadoop.fs.RawLocalFileSystem
 
 
2:HDFS的文件IO检查
(1)datanode接收数据后存储数据前
(2)客户端读取datanode上的数据时
(3)datanode后台守护进程的定期检测
 
3:数据恢复策略
(1)检查已恢复标签
(2)统计各个备份数据的恢复状态
(3)副本同步
hadoop fs -get [ignoreCrc]  [-crc] <src>  <localdst>
 
数据压缩:
1:减少存储空间
2:加快传送速度
org.apache.hadoop.io.compress包
代码如下:
conf.setBoolen("mapred.compress.map.output",true)
conf.setBoolen("mapred.output.compress",true)
conf.setBoolen("mapred.output.compression.type","Block")
conf.setClass("mapred.output.compression.codec",GzipCodec.class,CompressionCodec.class)
 
数据序列化
(1)进程间通信
(2)数据持久化存储
 
 

org.apache.hadoop.io.Writable类和java.lang.Comparable   
 
1.Writable类定义了两个方法:
序列化输出数据流:   void     write(Dataoutput out)   throw       IOException
反序列化输入数据流:void    readFields(Datainput in)throw   IOException
 
2.Comparable类定义了三个方法:
comparreTo方法,hashCode方法,equals方法
 
3.WritableComparablewrite方法,readFields方法,comparreTo方法,hashCode方法,equals方法
 

                                       
java.util.Comparator                            
Comparator类的compare方法
RawComparator类
WritableComparator
 
 

NullWritable

ByteWritable和BytesWritable

 

ObjectWritable

ArraryWritable和TwoDArraryWritable
Text
MapWritable和sortedMapWritable
CompressedWritable
GenericWritable
VesiondWritable
 

针对Hadoop的文件类
SequenceFile类和MapFile类
SequenceFile类记录的是key-value对,是序列化后的二进制文件
有三种类型结构:
1:未压缩的key-value对
2:记录压缩的key-value对,只有value被压缩
3:block 压缩的key-value对,key和value分别被压缩
 
 
 

Hadoop的IO操作的更多相关文章

  1. [.NET] 利用 async & await 进行异步 IO 操作

    利用 async & await 进行异步 IO 操作 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/6082673.html  序 上次,博主 ...

  2. 文件IO操作..修改文件的只读属性

    文件的IO操作..很多同行的IO工具类都是直接写..但是如果文件有只读属性的话..则会写入失败..所以附加了一个只读的判断和修改.. 代码如下: /// <summary> /// 创建文 ...

  3. python之协程与IO操作

    协程 协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B ...

  4. JAVASE02-Unit08: 文本数据IO操作 、 异常处理

    Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.i ...

  5. JAVASE02-Unit07: 基本IO操作 、 文本数据IO操作

    基本IO操作 . 文本数据IO操作 java标准IO(input/output)操作 package day07; import java.io.FileOutputStream; import ja ...

  6. IO操作概念。同步、异步、阻塞、非阻塞

    “一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作. 同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO. 阻塞IO和非阻塞IO的区别在于第 ...

  7. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  8. java中的IO操作总结

    一.InputStream重用技巧(利用ByteArrayOutputStream) 对同一个InputStream对象进行使用多次. 比如,客户端从服务器获取数据 ,利用HttpURLConnect ...

  9. Linux系统编程--文件IO操作

    Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(c ...

随机推荐

  1. 1.2 Activity

    Activity是个应用组件,它给用户提供了为了完成某些工作而可以进行交互操作的界面,例如,电话详情,打电 话,发邮件,或是浏览地图.每一个Activity都有一个窗口来绘制自已的用户界面.通常来说, ...

  2. (转)Python爬虫学习笔记(2):Python正则表达式指南

    以下内容转自CNBLOG:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 1. 正则表达式基础 1.1. 简单介绍 正则表达式并 ...

  3. 快速排序的c++实现 和 python 实现

    最近在学python,其中有个要求实现快速排序的练习,就顺便复习了c++的快速排序实现. 快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比 ...

  4. What can be use as an encoder

    原于2018年5月在实验室组会上做的分享,今天分享给大家,希望对大家的科研有所帮助.

  5. 设置grid高度

    $("#jqxSalaryCalculation").jqxGrid({ height: $("#jqxTree").height() - 73 });

  6. ie tbody table 兼容方法

    IE6-IE9中tbody的innerHTML不能赋值,重现代码如下 Js代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 ...

  7. Wex5循环某个div节点下的所有img标签,替换其src属性值

    Model.prototype.newsDetailAfterRefresh = function(event){ var newsDiv = this.getElementByXid("n ...

  8. 52、图片缩放库 PhotoView

    PhotoView的简介: 这是一个图片查看库,实现图片浏览功能,支持pinch(捏合)手势或者点击放大缩小.支持在ViewPager中翻页浏览图片. PhotoView 是一款扩展自Android ...

  9. 【BZOJ4259】残缺的字符串 FFT

    [BZOJ4259]残缺的字符串 Description 很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n.可当你现在再次碰到这两个串时, ...

  10. 【bzoj4518】[Sdoi2016]征途 斜率优化dp

    原文地址:http://www.cnblogs.com/GXZlegend/p/6812435.html 题目描述 Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界 ...