⚫ 概念
Hive是一个基于Hadoop的数据仓库工具;
可以将结构化的数据文件映射为一张数据库表;(相当于Schema)
提供SQL查询功能;
可以将SQL语句转换为MapReduce作业进行运行。
⚫HDFS架构
HDFS Client(客户端):是被设计成适合运行在通用硬件(commodity hardware
)上的 Hadoop
的分布式文件系统。
NameNode(管理者):是管理文件系统命名空间的Master(主服务器),用于管理客户端对文件的访问,执行文件系统命名空间操作,如打开,关闭和重命名文件和目录。
DataNode(Slave):通常是群集中每个节点一个,用于存储数据,负责提供来自文件系统客户端的读写请求。NameNode下达命令,DataNode执行实际的操作。如执行块创建,删除和复制。
Secondary NameNode(辅助):辅助后台程序,主要负责与 NameNode
进行通信,定期保存 HDFS
元数据的快照及备份其他 NameNode
中的内容,日常 Standby,当 NameNode
故障时顶替 NameNode
使用。
⚫Hive的优缺点
优点:
- 学习成本低:提供了类SQL查询语言HQL,使得熟悉SQL语言的开发人员无需关心细节,可以快速上手。
- 海量数据分析:底层是基于海量计算MapReduce实现。
- 可扩展性:为超大数据集设计了计算/扩展能力(MR作为计算引擎,HDFS作为存储系统),Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
- 延展性:Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
- 良好的容错性:某个数据节点出现问题HQL仍可完成执行。
- 统计管理:提供了统一的元数据管理。
缺点:
- Hive的HQL表达能力有限
- 迭代式算法无法表达.
- Hive的效率比较低.
- Hive自动生成的MapReduce作业,通常情况下不够智能化.
- Hive调优比较困难,粒度较粗.
⚫今日学习的shell命令
1)ls命令
功能:显示文件和目录的信息
ls 以默认方式显示当前目录文件列表
ls -a 显示所有文件包括隐藏文件 例如: .file 文件名称前面带小数点为隐藏文件。
ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)*
ls -lt 显示文件,按照修改时间排序
2)cd命令
功能:改名目录
cd dir 切换到当前目录下的dir目录
cd / 切换到根目录
cd .. 切换到到上一级目录
cd ../.. 切换到上二级目录*
cd ~ 切换到用户目录
cd - 返回上一步操作目录*
⚫有关虚拟机
能挂起尽量不使用“hutdown -h now (立即关机)”,能使用“hutdown -h now (立即关机)”,尽量不在外边直接关机。