Hadoop源码分析(一)

2021SC@SDUSC

本次代码分析将从Hadoop中的Writable,Hadoop中的压缩读取数据(API)以及Hadoop中类Client的相关作用及代码进行分析。

由于Hadoop的Cloud Storage与MapReduce都有通信的需求,需要对通信的对象序列化。而Hadoop没有采用Java的序列化,而是拥有自己的系统。

1.Hadoop中的Writable

而在org.apache.hadoop.io中,hadoop使用自己的序列化格式Writables接口,定义了许多序列化对象,实现了程序的简约,达到了提高运行速度的效果。在Hadoop中, 并没有使用Java自带的基本类型类, 而是使用自己开发的类,包括 IntWritable, FloatWritable, BooleanWritable, LongWritable, ByteWritable, BytesWritable, DoubleWritable, Text等

下面是一个Hadoop中使用Writables接口的一段经典代码:

1. public class MyWritable implements Writable {
2. // Some data
3. private int counter;
4. private long timestamp;
5.
6. public void write(DataOutput out) throws IOException {
7. out.writeInt(counter);
8. out.writeLong(timestamp);
9. }
10.
11. public void readFields(DataInput in) throws IOException {
12. counter = in.readInt();
13. timestamp &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1031904067

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值