MapReduce 进阶

1HDFS数据格式详解

  面向行:

   1)文本格式 .txt 可切分, 查看方便编辑简单

缺点:无压缩占空间大,传输压力大,数据解析开销大

  2)列文件格式 .seq 可切分, 原生支持,二进制kv存储,支持行和块压缩

缺点:本地查看不方便,小文件合并形成kv结构后不易查看内部数据

面向列:

   1)rcfile 文件格式 .rc 可切分, 数据加载快,查询快,空间利用率高,高负载能力

缺点 :每一项都不是最高

2)orcfile文件格式: .orc 可切分,兼具乐rcfile优点,进一步提高了读取,存储效率,新数据类型的支持

缺点:每一项都不是最高

2压缩格式

压缩格式按其可切分计算性,分为可切分计算和不可切分计算两种。

可切分:

1) lzo(.lzo) 不是原生, 压缩/解压速度快,合理的压缩率

缺点:压缩率比gzip低,非原生,需要native安装

2)bzip2(.bz2 原生 高压缩率超过gzip,原生支持,不需要native安装,用linux bzip可解压操作

缺点: 压缩/解压速率慢

不可切分: 

   1)gzip(.gz) 原生,  压缩/解压速度快,原生/native都支持,使用方便

        缺点: cpu要求较高

        2) snappy(.snappy)    非原生,  高压缩/解压速度,合理的压缩率,

缺点: 压缩率比gzip低,非原生,需要native安装

2 lzo非原生支持,需要先安装lzo,思考在哪些节点上安装lzo组件?

先安装lzo

安装lzo命令:

yum -y install lzo lzo-devel hadooplzo hadooplzo-native

再安装lzop

安装lzop命令:

yum install lzop

3MapReduce个数的确定时机

  • 在Job提交后,任务正式开始计算之前即已经确定
  • Map数量的确定:由输入数据文件的总大小、数据格式、块大小综合确定,待冲刺环节详解。

Reduce数量确定:系统根据输入数据量的大小自动确定,有固定的计算公式,待冲刺环节详解。

4自定义Reduce数量

yarn jar TlHadoopCore-jar-with-dependencies.jar \

com.tianliangedu.examples.WordCountV2 \

-Dmapred.output.compress=true \

-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec \

-Dmapred.reduce.tasks=2 \

/tmp/tianliangedu/input /tmp/tianliangedu/output38

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值