大数据-Hadoop应用

一、初识Hadoop

以一个小故事解释什么是Hadoop:

小明接到一个任务:计算一个100M的文本文件中的单词的个数,这个文本文件有若干行,每行有若干个单词,每行单词与单词之间均以空格键隔开。对于处理这种100M量级数据的计算任务,小明觉得很轻松。他首先把这个100M的文件拷贝到自己的电脑上,然后写了个计算程序在他的计算机上执行并顺利输出了结果。
后来,小明接到了另外一个任务,计算一个1T(1024G)的文本文件中单词个数。再后来,小明又接到一个任务,计算一个1P(1024T)的文本文件中单词的个数…
面对如此大规模的数据,小明的一台计算机已经存储不下,更难以进行计算。机智的小明上网百度了一下:大数据存储和计算怎么办?按下回车键后,出现了有关Hadoop的网页。
经过查询相关资料,小明总结到:Hadoop就是存储海量数据和分析海量数据的工具。

二、什么是Hadoop

Hadoop的定义:Hadoop由java语言编写,是在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,是一个分布式计算的解决方案,其核心部件是HDFS和MapReduce

HDFS是一个分布式文件系统,为海量数据提供存储:引入存放文件源数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式存储和读取。

MapReduce是一个计算框架,对海量数据进行计算:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。

三、分别介绍HDFS和MapReduce
3.1 HDFS框架

HDFS是Master和Slave的主从结构。主要由NameNode、Secondary NameNode、DataNode构成。
在这里插入图片描述
NameNode:管理HDFS的名称空间和数据块映射存储元数据与文件到数据块映射的地方。
Hadoop可以配置成HA即高可用集群,集群中有两个NameNode节点,一台active主节点,另一台standby备用节点,两者数据时刻保持一致。当主节点不可用时,备用节点马上自动切换,用户感知不到,避免了NameNode的单点问题。

Secondary NameNode:辅助NameNode,分担NameNode工作,紧急情况下可辅助回复NameNode。

DataNode:Slave节点,实际存储数据、执行数据块的读写并汇报存储信息给NameNode。

3.2 MapReduce

MapReduce是一种编程模型,采取了分而治之的思想
MapReduce框架的核心步骤主要分两部分,分别是Map和Reduce。每个文件名片由单独的机器去处理,这是Map方法,将各个机器计算的结果汇总并得到最终结果就是Reduce方法。

四、Hadoop特点
优点
  1. 支持超大文件:HDFS存储的文件可以支持TB和PB级别的数据。
  2. 检测和快速应对硬件故障:数据备份机制,NameNode通过心跳机制来检测DataNode是否还存在。
  3. 高扩展性:可建构在廉价机上,实现线性(横向)扩展,当集群增加新节点之后,NameNode也可感知,将数据分发和备份到相应节点上。
  4. 成熟的生态圈:借助开源的力量,围绕Hadoop衍生的一些小工具。
缺点
  1. 不能做到低延迟:高数据吞吐量做了优化,牺牲了获取数据的延迟。
  2. 不适合大量的小文件存储。
  3. 文件修改效率低:HDFS适合一次写入,多次读取的场景。
五、环境配置

史上最详细的Hadoop环境搭建:
https://blog.csdn.net/hliq5399/article/details/78193113/

六、Hadoop相关工作角色及技能要求

根据大数据的背景和发展方向可以分为:Hadoop开发人员、Hadoop管理员、Hadoop架构师、Hadoop测试人员和大数据分析师

Hadoop分析师

Hadoop分析师的工作职责是分析大量数据,并提供可用于公司改善的见解。

  1. 角色及职责
    · 使用脚本语言从可用数据中开发新见解
    ·根据不同的假设进行A/B测试,以分析不同关键指标影响
  2. 所需技能
    ·掌握Hive,Pig知识
    ·深入Flume知识和SQL命令

参考链接:
数澜社区:https://bbs.dtwave.com/
知乎:https://www.zhihu.com/question/333417513

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值