学习_010_Hadoop权威指南
课程说明
项 | 内容 |
---|---|
课程类型 | 书籍 |
内容类型 | 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相关开源项目
- 关于Avro:是一个独立于编程语言的数据序列化系统,可被多种语言处理(Hadoop的Writable只能用java)
- 关于Parquet:是一种能有效存储嵌套数据的列式存储格式(列式存储有压缩比和读取效率的优点)
- 关于Flume:可以将其他系统的数据导入到Hadoop存储中(常用于日志采集)
- 关于Sqoop:可以连通Hadoop存储和关系型数据库(mysql),使数据相互传输(从Hadoop写入数据到mysql,从mysql同步数据到Hadoop)
- 关于Pig:通过简单的方式实现MapReduce功能,处理大型数据集的轻量级脚本语言
- 关于Hive:是一种构建在Hadoop上的数据仓库框架,它可以把HDFS和MapReduce变成传统数据库那样来使用,把文件组织成有结构的表,可以使用SQL操作数据(hive让大数据更简单好用)
- 关于Crunch:是一个java库,用来简化MapReduce的编写和执行难度,类似Pig但更灵活
- 关于Spark:是一种大数据处理的集群计算框架,使用Scala、Java和Python语言,通过内存计算,可以替代MapReduce,速度更快效率更高
- 关于HBase:是一种面向列的分布式数据库,可实现实时随机访问超大规模数据集,基于HDFS
- 关于Zookeeper:是Hadoop的分布式应用协调服务,用来维护分布式系统的可靠性、可用性(集群越大,机器越多,出错风险越高,zk的目的是避免错误导致整个集群瘫痪,减少问题的影响)
学习_010_Hadoop权威指南相关推荐
- 学习js权威指南第五站 ---- 数组
1.数组方法 ①join() 将数组中的左右元素都转换成字符串并连接在一起,返回最后生成的字符串. ②reverse() 改变原数组 将数组中的元素颠倒顺序,返回逆序的数组.在原先的数组中重新排列. ...
- jquery的动画学习--jquery权威指南
前面的fadeIn和fadeOut还有fadeTo以及sildeToggle还有sildeUp\sildeDown还有toggle还有show.hide等都经常用,就不再手写了,需要注意的是fadeT ...
- 大数据数据仓库——hive学习权威指南
友情提示:更多有关大数据.人工智能方面技术文章请关注博主个人微信公众号:大数据分析爱好者社区! 学习hive权威指南 目录: ETL介绍 大数据平台架构概述 系统数据流动 hive概述 hive在ha ...
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- Http权威指南学习研究
学习时间: 该学习:第六章 6.6小节 加油 185页 2017年5月15日15:13:00 今天任务: 看完前两章节: ...
- 《JS权威指南学习总结--开始简介》
本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...
- Hadoop权威指南学习笔记三
HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...
- 《mongodb权威指南》学习
放假归来,继续每天的学习~ 因为要用mongodb,所以继续学习mongodb,感觉看书比较系统,看了电子版<mongodb权威指南>,书很薄,看的很快. 很具体的操作就不说了,很多和my ...
- Hadoop权威指南学习笔记一
Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...
最新文章
- httpclient 学习
- shell切割日志脚本
- 移动支付php,银联手机支付服务端PHP端代码
- mac系统虚拟机上的Linux系统的使用说明
- 苹果紧急修复远程漏洞,影响数十亿设备
- JVM技术周报第1期
- 如何将类添加到给定的元素?
- scala---中的一些string方法
- git clone指定分支到本地
- payload sql注入_Web安全:SQL注入工具
- Excel格式的SNP数据怎么变为plink格式
- 淘宝/天猫上传图片到淘宝 API
- oracle bpm 集成erp,我们已经执行了ERP系统,为什么还要使用BPM系统?
- 互联网医疗仅剩的平台型超级独角兽,微医如何冲出重围?
- Ubuntu nautilus 快速打开文件浏览器
- 进度条程序详解(Linux)
- oracle 取月份的第一天
- ansible模块管理与主机清单配置
- 增大计算机字体,怎么调整电脑字体大小?
- 中科红旗开源Linux解决方案