课程说明

内容
课程类型 书籍
内容类型 Hadoop
课程名称 Hadoop权威指南
地址 https://item.jd.com/12109713.html
页数 700
费用 110

学习心得

Hadoop权威指南是大数据最经典的一本书,应该是很多人的必读书。700多页的干货,仅一周下班后的空闲时间,想读通读懂是绝不可能的。所以看这本书之前,我就定下了已了解为主的目标,能做到以后碰到问题知道书中能查即可。

这本书我整体过了两遍,涉及编码的地方基本是跳过的,边看边上网查找相关资料,对比理解,收获还是很大的。对大数据所涉及的内容有了更清晰的了解和较为完整的概念框架。无论与人交流还是上网查找资料,再也不用像以前那样,听到hive、hbase、spark一脸懵逼,不知道是什么,不知道做什么用,不知道怎么用,不知道与其他东西有什么关系。

说到大数据,就离不开Hadoop,也许就是因为Hadoop的出现,才让大数据如此普及。它极大的简化了大数据量的存储和计算问题,如硬件成本、处理难度、维护难度、学习难度。让大部分人和大部分公司都能参与到大数据中。

我以前一直搞不明白,Hadoop跟HDFS之类的到底是什么关系,我现在觉得,Hadoop = HDFS + MapReduce + YARN,就像office = excel + ppt + word一样,只是一类工具的集合。也许现在Hadoop不只是工具集合的概念,也许类似office365那样还能提供一些底层支持,但这样理解应该没问题。

数据必须有地方存储,HDFS就做这个。数据必须能再加工处理,MapReduce就干这个。大量的数据意味着大量的任务,资源容易不足,就需要管理资源提升利用效率,YARN就干这个。这三个是大数据最核心的组件。
一般原始数据分散在各个系统中,就需要Flume和Sqoop把数据弄到Hadoop中,处理好后再弄到其他系统中使用。
MapReduce使用java编程,入门有难度,开发有成本,Pig和Crunch把一些常用功能封装后,就可以通过简单的脚本实现原先复杂的MR编程,开发效率更高。
HDFS是文件存储,使用不方便,速度慢,有各种限制。Parquet和Hbase就是为了解决这些问题,基于HDFS的存储方案。可替代HDFS,也可以跟HDFS一起使用,互补不足。
MapReduce不只是开发成本高,处理速度也慢,Spark通过内存计算,速度特别快,可以替代MapReduce。
有了以上的工具,大数据的使用已经比较简单方便了,可这还只有专业开发人员才能使用。开发人员毕竟少,人员成本也比较高。hive就能解决这个问题,可以把HDFS里的文件映射为一张数据库表(如mysql),允许通过SQL的方式查询处理数据。可以理解为原来HDFS和MapReduce是英文,而hive把他们转换为中文,我们没学过英文的人,不但能看得懂能理解,还能使用中文交流。这就非常牛B了,大数据处理的难度直接下降了几个档次,会用SQL,了解一些数据库的人都能做大数据的开发了。更厉害的是,hive不受HDFS和MapReduce的限制,可以扩展使用其他存储方式和计算引擎,提升数据处理的效率。

有些组件,基于HDFS和MapReduce做了强化,如Pig、Crunch、Parquet、Hbase、hive、Avro。有些则是直接替代,如Spark。有些是外部工具协助完成基础组件的缺少的功能,如Flume、Sqoop、Zookeeper。

课程目录和概要

一.Hadoop基础知识

1.初识Hadoop

  • 这章讲了在当前数据爆炸的时代,数据处理过程中碰到的问题(数据量特别大,给存储和读取带来了困难,也容易出现数据故障)
  • 以及Hadoop是如何解决这些问题的(分布式存储和分布式计算,通过系统冗余和数据冗余减少错误带来的影响)
  • 最后讲了Hadoop的发展轨迹(源于Apache Nutch,逐步加入GFS即NDFS,加入MapReduce,独立后称为Hadoop,发展为Apache顶级项目)

2.关于MapReduce

  • MapReduce用户数据处理,包含map和reduce两个阶段,但并没有非常严格的区分,也可以仅靠map阶段完成数据处理
  • map阶段负责切分数据、转换kv格式,处理数
  • reduce阶段基于键对map的输出数据进行排序和分组
  • map阶段的数据切分,会形成多个数据切片,每个切片都是一个独立程序,可以通过并行提升运算速度

3.Hadoop分布式文件系统

  • HDFS是管理网络中跨多台计算机存储的文件系统,能容忍故障且不丢失数据
  • HDFS通过数据块的设计,实现大文件分散存储,简化系统设计,方便数据备份
  • Namenode是管理节点,负责维护文件系统树和其中的所有文件、目录
  • Datanode是工作节点,负责管理数据块,并向Namenode汇报
  • 通过维护两份Namenode,在故障时立即切换到备份节点,来实现高可用性
  • 通过复制多份数据块,避免数据文件损坏导致数据不可用

4.关于YARN

  • YARN是Hadoop的集群资源管理系统,以解决扩展性,可用性(容错)和资源利用率

5.Hadoop的I/O操作

  • HDFS通过计算校验和确保数据完整性,包括存储、读取时,而且还会定期校验
  • Hadoop可以使用多种压缩方式,来降低存储空间、提升数据传输效率
  • 序列化是将结构化的对象转化为字节流(较为通用),已方便进程间通信和高效存储
  • SequenceFile常用作小文件的容器,获得更高效的存储(节省元数据空间)和处理
二.关于MapReduce

1.MapReduce应用开发

  • 这章讲的是MapReduce程序的开发、测试、调优和发布的过程与细节(当前用不到写MapReduce程序,略过)

2.MapReduce的工作机制

  • 这章讲的是MapReduce任务的提交、初始化、分配、执行、进度状态更新、完成和失败的过程与细节
  • 失败包括任务运行失败,AM运行失败,节点管理器运行失败,资源管理器运行失败等情况(任务错误处理时有用)
  • shuffle是map输出作为输入传给reducer的过程,shuffle过程包含map端和reduce端(任务优化时有用)

3.MapReduce的类型与格式

  • 这章主要讲各种类型的数据(简单文本到结构化二进制对象)如何在MapReduce中使用(用不到,略过)

4.MapReduce的特性

  • 这章主要讲MapReduce中的计数器(任务运行过程中的元数据)、数据集排序和连接(数据join)细节(用SQL不涉及这些,略过)
三.Hadoop的操作

1.构建Hadoop集群

  • 本章主要讲在集群上构建Hadoop的技术细节(运维的事情,略过)

2.管理Hadoop

  • 本章主要如何维护集群的平稳运行(运维的事情,略过)
四.Hadoop相关开源项目
  1. 关于Avro:是一个独立于编程语言的数据序列化系统,可被多种语言处理(Hadoop的Writable只能用java)
  2. 关于Parquet:是一种能有效存储嵌套数据的列式存储格式(列式存储有压缩比和读取效率的优点)
  3. 关于Flume:可以将其他系统的数据导入到Hadoop存储中(常用于日志采集)
  4. 关于Sqoop:可以连通Hadoop存储和关系型数据库(mysql),使数据相互传输(从Hadoop写入数据到mysql,从mysql同步数据到Hadoop)
  5. 关于Pig:通过简单的方式实现MapReduce功能,处理大型数据集的轻量级脚本语言
  6. 关于Hive:是一种构建在Hadoop上的数据仓库框架,它可以把HDFS和MapReduce变成传统数据库那样来使用,把文件组织成有结构的表,可以使用SQL操作数据(hive让大数据更简单好用)
  7. 关于Crunch:是一个java库,用来简化MapReduce的编写和执行难度,类似Pig但更灵活
  8. 关于Spark:是一种大数据处理的集群计算框架,使用Scala、Java和Python语言,通过内存计算,可以替代MapReduce,速度更快效率更高
  9. 关于HBase:是一种面向列的分布式数据库,可实现实时随机访问超大规模数据集,基于HDFS
  10. 关于Zookeeper:是Hadoop的分布式应用协调服务,用来维护分布式系统的可靠性、可用性(集群越大,机器越多,出错风险越高,zk的目的是避免错误导致整个集群瘫痪,减少问题的影响)

学习_010_Hadoop权威指南相关推荐

  1. 学习js权威指南第五站 ---- 数组

    1.数组方法 ①join() 将数组中的左右元素都转换成字符串并连接在一起,返回最后生成的字符串. ②reverse() 改变原数组 将数组中的元素颠倒顺序,返回逆序的数组.在原先的数组中重新排列. ...

  2. jquery的动画学习--jquery权威指南

    前面的fadeIn和fadeOut还有fadeTo以及sildeToggle还有sildeUp\sildeDown还有toggle还有show.hide等都经常用,就不再手写了,需要注意的是fadeT ...

  3. 大数据数据仓库——hive学习权威指南

    友情提示:更多有关大数据.人工智能方面技术文章请关注博主个人微信公众号:大数据分析爱好者社区! 学习hive权威指南 目录: ETL介绍 大数据平台架构概述 系统数据流动 hive概述 hive在ha ...

  4. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

  5. Http权威指南学习研究

    学习时间:                                   该学习:第六章  6.6小节   加油   185页 2017年5月15日15:13:00 今天任务: 看完前两章节: ...

  6. 《JS权威指南学习总结--开始简介》

    本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...

  7. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...

  8. Hadoop权威指南学习笔记三

    HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...

  9. 《mongodb权威指南》学习

    放假归来,继续每天的学习~ 因为要用mongodb,所以继续学习mongodb,感觉看书比较系统,看了电子版<mongodb权威指南>,书很薄,看的很快. 很具体的操作就不说了,很多和my ...

  10. Hadoop权威指南学习笔记一

    Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...

最新文章

  1. httpclient 学习
  2. shell切割日志脚本
  3. 移动支付php,银联手机支付服务端PHP端代码
  4. mac系统虚拟机上的Linux系统的使用说明
  5. 苹果紧急修复远程漏洞,影响数十亿设备
  6. JVM技术周报第1期
  7. 如何将类添加到给定的元素?
  8. scala---中的一些string方法
  9. git clone指定分支到本地
  10. payload sql注入_Web安全:SQL注入工具
  11. Excel格式的SNP数据怎么变为plink格式
  12. 淘宝/天猫上传图片到淘宝 API
  13. oracle bpm 集成erp,我们已经执行了ERP系统,为什么还要使用BPM系统?
  14. 互联网医疗仅剩的平台型超级独角兽,微医如何冲出重围?
  15. Ubuntu nautilus 快速打开文件浏览器
  16. 进度条程序详解(Linux)
  17. oracle 取月份的第一天
  18. ansible模块管理与主机清单配置
  19. 增大计算机字体,怎么调整电脑字体大小?
  20. 中科红旗开源Linux解决方案

热门文章

  1. SoapUI接口测试——添加新的API接口——new rest service from uri
  2. 好看的2020年html倒计时源码
  3. 详解sqlserver 执行计划
  4. 工具:数据库设计ER图
  5. php 开源留言板,PHP开源多功能留言板(SyGuestBook)
  6. 拼写检查器——朴素贝叶斯应用
  7. 合并报表软件系统推荐
  8. COIN3D拖拽器使用
  9. matlab rsenc函数,Xilinx RS编码IP核仿真验证
  10. matlab绘图举例,MATLAB绘图教程详解