JAVA开发

初识Hadoop

2021-01-25  本文已影响0人  奋斗的蛐蛐

大数据简介

定义

大数据是指无法在一定时间范围内用常规软件工具进行处理和分析的数据集合,需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能的海量、高增长率和多样性的信息资产

特点

早期的4V:

  1. Volume:巨量的数据(采集、存储和计算的数据量都非常大)GB、TB、PB、EB、ZB、YB、BB、NB、DB
  2. Variety:多样性(数据的形式和来源多样性,包括结构化数据、半结构化数据、非结构化数据,例如网络日志、音频、视频、图片等数据)
  3. Value:低价值(数据量大,但是价值低。很多都是无用的数据。)
  4. Velocity:高速(数据的创建、存储、分析都要求被高速处理。比例电商个人推荐)

后来的5V:

  1. Veracity :真实(确保数据的真实,才能保证分析的结果正确)

应用场景

  1. 仓储物流(智能调拨,货总在离消费者最近的地方)
  2. 电商零售(啤酒和纸尿裤的案例、个人推荐、双十一实时销售大屏)
  3. 汽车(无人驾驶汽车)
  4. 电信(针对不同的人群推出不同的套餐)
  5. 生物医学(解读DNA)
  6. 人工智能(阿尔法狗)
  7. 智慧城市等

发展趋势

  1. 15年提出 实施大数据战略,重要的发展机遇
  2. 17年19大报告明确指出,同年,25所高校成功申请开设大数据课程
  3. 2020年再次强调
  4. 大数据属于高薪行业,大牛少,升职压力小
  5. 需求大,薪水高

职业发展路线

目前大数据高、中、低档次的人才都很缺。
从职业来看:大数据开发、挖掘、算法、架构。
从级别来看:工程师、高级工程师、架构师、科学家。
大数据相关岗位很多:ETL工程师,数据仓库工程师、实时流处理工程师、用户画像工程师、数据分析师、数据挖掘工程师、大数据开发工程师、大数据产品经理、可视化工程师、爬虫工程师、大数据运营经理、大数据架构师、数据科学家

Hadoop简介

定义

Hadoop是一个适合大数据的分布式存储和计算平台

广义上讲Hadoop代表大数据的一个技术生态圈,例如:HDFS分布式文件存储)、MapReduce分布式离线计算、Hive数据仓库、HBase海量劣势非关系型数据库、Flume数据采集工具、SqooqETL工具、Kafka高吞吐消息中间件等

发展历史

Hadoop的名字来源于Hadoop支付Doug Cutting儿子的毛绒玩具象。

Hadoop的特点

  1. 扩容能力:Hadoop是计算机集群内分配数据并完成计算任务,集群可以方便扩展到很多节点
  2. 低成本:Hadoop通过普通廉价的服务器集群分发及处理数据,所以成本低
  3. 高效率: 可以在节点之间动态并行的移动数据
  4. 可靠性:自动维护数据的多份复制(副本),并且任务失败能自动重新部署计算任务

发行版

版本号变更

0.x:Hadoop最早的一个开源版本,在此基础上有了1.x和2.x
1.x:主要修复1.x的一下bug
2.x:架构产生重大变化,引入了yarn平台等许多新特性
3.x:EC技术、Yarn的时间轴服务等新特性

优劣势

Hadoop的优点
  1. Hadoop具有存储和处理数据能力的可靠性
  2. Hadoop通过可用的计算机集群分配数据。完成存储计算任务,集群方便扩展,具有扩展性
  3. Hadoop能够在节点之间动态移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性
  4. Hadoop能够自动保存数据的多个副本,具有容错性
Hadoop的缺点
  1. Hadoop不使用低延迟数据访问(无法快速的返回结果)
  2. 不能高效的存储大量小文件(大量的小文件会浪费NameNode的内存)
  3. 不支持并发写入并任意修改文件

Hadoop的重要组成

HDFS(Hadoop Distribute File System)

HDFS架构图.png

HDFS:

MapReduce:一个分布式离线并行计算框架

分而治之思想:

MapReduce结构图.png

Yarn:作业调度与集群资源管理的框架

计算资源协调

Yarn架构图.png

Resource Manager 相当于Master角色,与客户端交互,处理客户端请求,监控NodeManager角色,Node Manager相当于Slave角色。Container真正负责运行一个Task,可以理解为一个虚拟资源集合。AppMaster:为应用申请资源,任务监控、容错。

Yarn中有如下几个主要角色,同样,既是角色名、也是进程名,也代指所在计算机节点名称。

ResourceManager是老大,NodeManager是小弟,ApplicationMaster是计算任务专员

Common

支持其他模块的工具模块(configuration、RPC、序列化机制、日志操作)

上一篇下一篇

猜你喜欢

热点阅读