`

hadoop IO(一)

阅读更多

1.数据完整性:

在数据第一次引入时系统计算校验和(checksum),在数据通过一段不可靠的 通道进行传输时再次计算校验和,如果所得 的 校验和

和原来的校验和一致则代表数据完整

2.HDFS数据完整性

hdfs 对写入 的数据计算校验和,在读取数据时验证校验和。

io.bytes.per.checksum 指定校验和的数据字节大小 默认512字节

datanode验证收到的数据后存储数据及校验和,datanode管线最后一个datanode负责验证 校验和,如果检测到错误, 则客户端便 会收到一个ChecksumException 异常。客户端读取数据时也会验证校验和,datanode也会在一个后台线程中运行一个

 

DataBlockScanner,c从而定期验证存储在这个dananode上所有的数据块。

 

禁用校验和
将false 值传递给FileSystem对象的setVerifyCcheckSum()方法,可禁用校验和。

LocalFileSystem 执行客户端的校验和验证,通过ChecksumFileSystem 完成任务。ChecksumFileSystem 继承FileSystem类

FileSystem fs = ……

FileSystem checksumFiles = new ChecksumFileSystem(fs)
RawLocalFileSystem 禁用校验和

3.压缩

压缩两大好处:减少存储所需的磁盘空间,加速在网络上和磁盘上的传输

hadoop 压缩工具
Gzip 通用压缩工具,时间和空间性能居中
bzip2 比Gzip 高效,速度慢
LZO 速度快 效率低

codec 压缩解压缩算法
hadoop 对 CompressionCodec 接口的一个实现代表一个codec

CompressionCodec 包含两个函数来压缩和解压缩
1> createOutputStream()
2> createInputStream

通过CompressionCodecFactory 推断CompressionCodec

读取压缩文件时 通过文件的扩展名来判断需要使用哪个codec
getCodec()来读取

CodecPool 允许反复使用压缩和解压缩算法,分摊创建这些对象所使用 的开销

4.MapReduce 压缩

要想对MapReduce 作业进行输出压缩操作 可配置:
mapred.output.compress 设置为true
mapred.output.compression.codec 设置为 想要使用的压缩codec 名
mapred.output.compression.type 控制要使用哪种压缩格式 默认为RECODE 每条压缩 BLOCK 按组压缩(效率高)

Map 任务压缩

map 阶段的中间输入进行压缩
mapred.compression.map.output
mapred.map.output.compression.codec Class

5.序列化

将结构化数据转化为字节流 成为序列化

hadoop多个节点上的通信是通过rpc(远程过程调用) 实现的,RPC将消息序列化成二进制流后发送到远程节点,远程节 点接着将

二进制流反序列化为原始消息

hadoop 自己的序列化格式为 writable

Writable 接口 两个方法:


write()
readFields()

IntWritable 实现了 WritableCompareable 接口,该接口继承自 Writable 和 java.lang.Comparable接口

RawComparator 接口 允许直接比较数据流中的记录 ,无需反序列化

Text 针对UTF8 序列的 Writable

 

 

 

0
1
分享到:
评论

相关推荐

    《Hadoop系统搭建及项目实践》课件05Hadoop IO操作.pdf

    《Hadoop系统搭建及项目实践》课件05Hadoop IO操作.pdf《Hadoop系统搭建及项目实践》课件05Hadoop IO操作.pdf《Hadoop系统搭建及项目实践》课件05Hadoop IO操作.pdf《Hadoop系统搭建及项目实践》课件05Hadoop IO操作...

    org.apache.hadoop.io.nativeio

    必须将此jar包放在org.apache.hadoop.io包下,否则无法正常覆盖使用

    Hadoop源码_NativeIO.java

    org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z Hadoop源码_NativeIO.java

    Hadoop-NativeIO.java

    解决本地调试Hadoop 异常。 org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

    第五章(Hadoop大数据处理实战)Hadoop的IO操作.pdf

    第五章(Hadoop大数据处理实战)Hadoop的IO操作.pdf第五章(Hadoop大数据处理实战)Hadoop的IO操作.pdf第五章(Hadoop大数据处理实战)Hadoop的IO操作.pdf第五章(Hadoop大数据处理实战)Hadoop的IO操作.pdf第五章(Hadoop大...

    Hadoop本地调试NativeIO

    hadoop 本地调试代码,暂时还未调试完成,等待本地调试成功

    hadoop2.7.6 winutil,NativeIO类

    hadoop2.7.6本地运行需要的jar包和报错处理,有winutils.exe,libwinutils.lib,和NativeIO

    hadoop2.7.3 hadoop.dll

    org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V 解决方案:下载本资源解压将hadoop.dll和winutils.exe文件复制到hadoop2.7.3的bin目录下即可解决。

    hadoop-2.6.0-src NativeIO.java

    出现org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z . 需要下载重新编译的NativeIO.java

    云计算技术实验报告五Hadoop IO

    Linux,eclipse 要求改写实验4的GetMerge程序,实现将云端多个文件压缩到单个文件下载到本地。 1)采用Gzip压缩方法,本地文件为Merger.gz; 2)云端文件需要超过2个文件。

    hadoop2.6.0插件+64位winutils+hadoop.dll

    hadoop2.6.0插件+64位winutils+hadoop.dll

    hadoop2.7.1可使用的hadoop.dll

    在网上下了好多2.6版本的hadoop.dll,但是都不好使,昨天有个好心网友给我发了一份,实际测试通过。开发环境是64位win7+hadoop2.7.1+redhat版本的linux。

    hadoop-lzo-0.4.20.jar

    hadoop支持LZO压缩配置 将...org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.BZip2Codec, org.apache.hadoop.io.compress.SnappyCodec, ...

    hadoopio:ScalaJava 库可方便地与存储在 Hadoop HDFS 中的 Avro 文件交互

    HadoopIO Scala/Java 库可以方便地与存储在 Hadoop HDFS 中的文件(特别是 Avro 文件)进行交互。 目录给我看看! 以下是读取存储在 HDFS 中的 Avro 文件的方法。 思考: # Shell -- note that this command line ...

    hadoop-2.6.0-cdh5.14.0 hadoop.dll winutils

    一开始使用的是原生的hadoop2.6.0编译的hadoop.dll,但是一直遇到这个问题Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String...

    Java-org.apache.hadoop

    Java-org.apache.hadoop,Java-org.apache.hadoop,Java-org.apache.hadoop

    hadoop2.7.1(hadoop.dll,winutils.exe) 亲自测试 不好用你吐我

    针对问题: hadoop2.7.1下运行org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 解决办法: 1:解压该文件 2:将hadoop.dll复制到C:\Window\System32下 3:添加环境变量HADOOP_HOME...

    Hadoop中MapReduce基本案例及代码(一)

    import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; // 案例:统计每一个单词出现的次数 // KEYIN - 这一行的偏移量 --- // VALUEIN

    hadoop0.23.9离线api

    org.apache.hadoop.io.serializer.avro org.apache.hadoop.jmx org.apache.hadoop.lib.lang org.apache.hadoop.lib.server org.apache.hadoop.lib.service org.apache.hadoop.lib.service.hadoop org.apache....

Global site tag (gtag.js) - Google Analytics