Hadoop之Hive学习

Hadoop:

1.HDFS:分布式文件系统,存储海量的数据;

2.MapReduce:并行处理框架,实现任务分解和调度

Hive是构建在hadoop HDFS上的一个数据仓库

数据仓库:是不可更新的,随着时间的推移,不产生变化的集合,主要是数据查询,用于决策的数据。

Hive允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作.

是SQL解析引擎,他将SQL语句转移成M/R Job然后在hadoop执行。

Hive的表其实就是HDFS的目录;Hive数据其实就是HDFS的文件。


OLTP系统是面向事务,要么同时成功要么同时失败;

OLAP系统是只做查询用。

搭建数据仓库的基本模型是星型模型 和雪花模型

1.Hive的体系结构是什么?

2.Hive如何与hadoop HDFS进行相互操作

3.Hive数据与Hadoop中的文件之间的关系


a.Hive将元数据存储在数据库中(metastore),支持mysql、derby等数据库。Hive默认产生derby数据库

b.Hive中的原数据包括表的名字,表的列和分区及其属性,标的属性(是否为外部表等),表的数据所在目录等。

HQL的执行过程:

a.解析器,编译器,优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(Plan)的生成、生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。

第一步:HQL select

第二步:解析器,语法分析

第三步:生成HQL的执行计划

第四步:优化器,生成最佳的执行计划。

第五步:执行

Hive的体系结构:Hadoop用HDFS进行存储,利用MapReduce进行计算。


JobTracker任务调度器:我们在Hive中执行一条HQL语句,这条HQL语句实际上会被解析成MapReduce的作业并被提交到我们的Hadoop的集群上,进行运行,得到的结果最终会客户端的程序。这个工作就是由我们JobTracker所做的。

有了Hadoop集群后,可以在体制上构建我们的Hive的数据仓库。由于在Hive中需要操作我们在Hadoop集群中的HDFS中的文件系统的数据,所以在hive底层回事hive的驱动,有了hive的驱动,我们就能提供不同的访问接口,来进行操作。

Hive安装:单机环境、伪分布环境、集群环境

(1)嵌入模式

a、元数据信息被存储在Hive自带的Derby数据库中;

b、只允许创建一个连接

c、多用于Demo

(2)本地模式

a、元数据信息被存储在MySQL数据库中;

b、MySQL数据库与Hive运行在同一台物理机器上;

c、多用于开发和测试;

(3)远程模式

a、Hive的元信息被保存在MySQL的数据库中,而Hive与MySQL运行在不同的操作系统中;

b、用于生产环境,允许创建多个连接;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值