• hadoop io PART1


    数据正确性检测的技术,通常使用checksum,在数据进行传输前,计算一个checksum值,传输到目标地之后,再根据新的文件计算checksum值,如果不匹配,则说明数据损坏或被改变。只能校验,不提供修复方法。

    建议使用ECC内存,提高校验正确率,但这又和hadoop的设计初衷违背?

    常见的错误侦测码是CRC-32,HADOOP的ChecksumFileSystem 使用这个编码。

    codec是对压缩解压的实现,在hadoop里面,代表着实现了CompressionCodec 接口。

    例如GzipCodec封装了gzip算法的实现。

    CompressionCodecFactory提供了根据文件名的扩展获取它的Codec的方法。

    CompressionCodecFactory    factory    =    new    CompressionCodecFactory(conf);
    CompressionCodec    codec    =    factory.getCodec(inputPath);

    对于64位平台的LInux,hadoop已经自带预编译好的本地压缩库,建议使用本地压缩库,提高压缩与解压的效率。

    关于处理压缩文件的时候需要注意的事情,每一个codec会判断文件是否具有可分隔性,如果不可以分隔,就只能丢给一个map task去处理。这是需要注意的。

    gzip,snappy都是不支持分片的。bz2和lzo(index)过的可以支持分片,可以用于输入和输出。

    不支持分片速度快的lzo,lzo4snappy可以用于中间结果的压缩。配置下面的两个项目:

    mapreduce.map.output.compress

    mapreduce.map.output.compress.codec

  • 相关阅读:
    阿里巴巴Java编码规范插件安装使用指南
    jhipster安装_Windows
    Linux 基本命令
    HTTPie命令介绍
    MySQL卸载
    Windows Phone8.1系统新特性
    SQL 游标知识整理
    浅析C#代理
    javascript 实现ajax
    jquery 之load post get
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/5231016.html
Copyright © 2020-2023  润新知