大数据学习基础分享总结
1.linux
shell指令学习我是从私房菜开始看的,而且只看了shell指令相关的
互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群:868847735 欢迎进阶中和进想深入大数据的小伙伴加入。
2.hadoop
hadoop1分为hdfs和mapred,hadoop2分为hdfs,mapreduce和yarn。我主要学习了hadoop1
hadoop要求jdk,因此要先安装jdk,hadoop安装主要配置文件为core-site.xml hdfs-site.xml mapred-site.xml 和hadoop-env.sh
主要学习途径是stackoverflow,jira。hadoop权威指南
hadoop的核心架构 HDFS是按照Master和Slave的结构。由namenode和datanode构成,namenode通过datanode的heartbeat(“心跳”)确定节点正常。namenode管理datanode的block信息。同时管理client对集群的访问。还有一个secondnamenode实现namenode的冷备份,根据snapshot(“快照”)和checkpoint(“监测点”)实现和namenode的一致性,在namenode节点dead时secondnamenode替代namenode的工作。datanode保存hadoop的数据,datanode的基本数据单元是block,每个block大小为64M。因此可知hadoop是用来存储大文件的。小文件的读写会很消耗hadoop内存。
热备份:b是a的热备份,如果a坏掉。那么b马上运行代替a的工作。
冷备份:b是a的冷备份,如果a坏掉。那么b不能马上代替a工作。但是b上存储a的一些信息,减少a坏掉之后的损失。
mapreduce 一种云计算的核心计算模式,一种分布式运算技术,也是简化的分布式编程模式,它主要用于解决问题的程序开发模型,也是开发人员拆解问题的方法。
原理是 map : <k1,v1> -> list<k2,v2> ; reduce : <k2,list(v2)> -> <k3,v3> mapreduce主要强调了map和reduce中间还存在shuffle("洗牌")和sort的过程,通过洗牌主要将相同主键的数据移动到一个datanode处理,充分考虑分布式模式,在单一datanode内数据是有序排列的,在通过reduce可以求得最大值,平均值,个数等。
3.hbase
hbase是列族数据库底层依赖于hdfs。hbase是按照Master和Slave的结构。分为HMaster和regionserver。hbase中hmaster主要管理-ROOT-和.META.表的数据。-ROOT-只有一个是不可分割的。存储了.META.的索引信息,而.META.存储了regionserver中region的索引信息。所以是采用了三级索引思想。regionserver中是存储数据的地方,而regionserver中有可以有多个region和一个Hlog。每个region里面又分为多个store,store存储的列族数据。store中有memstore和storefile。memstore达到阀值时,将数据刷写成storefile中。Hregion是以完整的记录行存储。hbase内部中行键是有序的。client只能根据行键key读取数据。hbase中内部数据是<key,value>存储。
hbase中最小单元是hfile,HFile中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile
hbase中还内置有zookeeper(你也可以不使用内置的zookeeper),Zookeeper Quorum存储-ROOT-表地址、HMaster地址
HRegionServer把自己以Ephedral方式注册到Zookeeper中,HMaster随时感知各个HRegionServer的健康状况
Zookeeper避免HMaster单点问题
client访问过程 : client -> zookeeper -> -ROOT- > .META.-> 用户数据表
4.hive
hive是数据仓库,hive底层依赖于hadoop,它的sql解析是通过mapreduce任务完成的。hive的两个核心服务是metastore和hiveserver。
数据访问和存储是采用sql方式访问的。hiveQL是hive的核心。它不支持update和delete
(1)HQL中对查询语句的解释、优化、生成查询计划是由Hive完成的
(2)所有的数据都是存储在Hadoop中
(3)查询计划被转化为MapReduce任务,在Hadoop中执行(有些查询没有MR任务,如:select * from table)
(4)Hadoop和Hive都是用UTF-8编码的
hiveQL中select的使用,与sql的区别和hive的性能优化都是重点去理解的。
在遇见问题时,享受进步的喜悦。 在解决问题时,享受成长的快乐。 每一次遇见,就是一次蜕变。加油!!少年。
大数据学习基础分享总结相关推荐
- hive hql文档_大数据学习路线分享hive的运行方式
大数据学习路线分享hive的运行方式,hive的属性设置: 1.在cli端设置 (只针对当前的session) 3.在java代码中设置 (当前连接) 2.在配置文件中设置 (所有session有效) ...
- hdp对应hadoop的版本_好程序员大数据学习路线分享hadoop的知识总结
大数据学习路线分享hadoop的知识总结,Hadoop的背景:原生公司是apache, cdh的cloudar公司,hortworks公司提供hdp. 其中apache的发行版本大致有1.x ,2.x ...
- 好程序员大数据学习路线分享scala单列和伴生对象
好程序员大数据学习路线分享scala单列和伴生对象 scala单例 object SingletonDemo { def main(args: Array[String]): Unit = { val ...
- 279.11G 大数据学习资料分享
为什么是 279.11G ? 小编本来打算分开分享的,想了下太麻烦了,还是一次性分享的比较好,所以看了下整理的大数据资料,除了电子版外,总共 279.11G,所以后面很长一段时间会不考虑分享大数据资料 ...
- 小白如何学习大数据开发,大数据学习路线是怎样的?
零基础的同学学习大数据开发不能急于求成,要分阶段分步骤来一步步完成,科多大数据给大家来分享一下大数据的学习路线是什么?小白该怎么学习大数据呢,大概可以分为四步: 大数据学习资料分享群142973723 ...
- 2018大数据学习路线从入门到精通
最近很多人问小编现在学习大数据这么多,他们都是如何学习的呢.很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么?今天小编特意为大家整理了一份 ...
- 大数据学习入门规划?和学习路线
大数据方向的工作目前分为三个主要方向: 01.大数据工程师 02.数据分析师 03.大数据科学家 04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧) 一.大数 ...
- 干货分享 | 大数据零基础学习路线:新手从入门到精通
很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么? 所有萌生入行的想法与想要学习Java的同学的初衷是一样的.岗位非常火,就业薪资比较高, ...
- python大数据零基础_零基础学习大数据人工智能,学习路线篇!
大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后. Python:Python 的排名从去年开始就借助人工智能持续上升,现在它 ...
最新文章
- 对 android apk 进行重新签名操作
- #周分享#骨架屏[Skeleton Screen]
- [转载] 杜拉拉升职记——20 两位同僚
- dojo中的dojo/dom-class
- android+动画+锯齿,Android当中的防锯齿(Bitmap Canvas )
- Spring JdbcTemplate Curd
- 如何在CentOS 7上使用HAproxy Loadbalancer设置Percona XtraDB集群(负载均衡)
- mysql函数使用_mysql函数应用
- 码匠编程:7 个令人兴奋的 JavaScript 新特性
- c语言源程序输入483应输出字符串384,2011年计算机二级C语言程序填空题及答案解析精选2...
- 小C的数学问题 线段树+分治
- PHP留言并展示_留言页面展示功能
- 前端性能优化--图片懒加载(lazyload image)
- 腾讯云最便宜的云服务器多少钱可以入坑?
- Flutter状态管理Provider的简单使用
- 微信应用架构!!-----微信应用的测试管理篇
- WEB测试番外之----XSS攻击
- 工业界和学术界最大区别是什么?
- 40、卤代烷灭火系统模拟喷气试验
- MMORPG游戏的人工智能(AI)和行为树设计