一、这学期分别接触了Linux,hadoop,hbase,hive
1、Linux
Linux是一款安全性十分良好的操作系统。不仅有用户层面的安全性,还有目录操作层面的安全性,本次课我们要学习Linux的用户操作和目录权限操作:读权限、写权限和执行权限。另外,常用目录操作也应该掌握,对于我们学习Hadoop奠定一个良好的Linux操作基础。
2、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内存。
mapreduce 一种云计算的核心计算模式,一种分布式运算技术,也是简化的分布式编程模式,它主要用于解决问题的程序开发模型,也是开发人员拆解问题的方法。
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编码的
二、总结
大数据是指数据规模大,尤其指因为数据形式多样、非结构化特征明显,导致数据存储、处理和挖掘异常困难的那类数据集。大数据太深奥了,还需要花更多的时间去摸索,虽然这学期讲的都是基础,但是想要掌握更多的大数据知识,需要自己花更多的时间去学习大数据。