Hadoop入门案例

Hadoop的运行流程:

  1. 客户端向HDFS请求文件存储或使用MapReduce计算。
  2. NameNode负责管理整个HDFS系统中的所有数据块和元数据信息;DataNode则实际存储和管理数据块。客户端通过NameNode查找需要访问或处理的文件所在的DataNode,并将操作请求发送到相应的DataNode上。
  3. 当客户端上传一个新文件时(比如输入某些日志),它会被分成固定大小(默认64MB)并进行数据复制以保证可靠性。这些被称为“块”的小段才能与其他硬件组合得出代价最小化、且最佳速度/容错平衡所需表现出来呈现极高效率,并用checksum标记各实例在磁盘上是否一致。
  4. 数据已经保存在位于本地节点存储空间位置内,然后开始进入初始mapper/reducer任务管道处理阶段。(Mapper任务通常需要读取其中一部分输入记录并生成输出键值对给reducer;第二个reducer任务read前面评估器输出字节码映射子集与之相关联,注意写入不同单元)。
  5. Mapper 生成中间结果后,结果根据key排序并重新分配给下一级别stage管道里面去展开reducer工作,直至最终输出结果得到计算。
  6. 输出文件缺省有两个副本。

简单案例

需要注意的是此流程依赖于MapReduce执行模式。

  1. 准备工作

安装Hadoop集群,并将数据文件传输到HDFS中。

  1. 编写Mapper类

每个Mapper类负责解析输入并产生键/值对。在这个简单的案例中,我们已经将整个文件读入内存,并将其行进行拆分:

public class WordCoun
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值