第53课:Hive第一课

一:Hive的历史价值

1,  HiveHadoop上的Killer ApplicationHiveHadoop上的数据仓库,Hive同时兼具有数据仓库中的存储引擎和查询引擎的作用;而Spark SQL是一个更加出色和高级的查询引擎,所以在现在企业级应用中Spark SQL+Hive成为了业界使用大数据最为高效和流行的趋势。

2, HiveFacebook的推出,主要是为了让不动Java代码编程的人员也能够通过SQL来驾驭Hadoop集群进行分布式数据的多维度分析,甚至您可以只通过Web界面来直接操作Hive(通过Hive来驾驭Hadoop),这对于市场营销人员、系统管理员、数据分析师至关重要;

1,  Hive的核心是把Hive自己的SQL语言即HQL翻译成为MapReduce代码,然后交给Hadoop集群执行,也就是说Hive本身是一个单机版本的软件!!!

2,  由于是通过写HQL来完成业务需求的,所以相对编程MapReduce而言,非常的简易和灵活,能够非常轻易的满足业务的需求和多变的场景;

3,  Hive几乎存在于一切使用大数据的公司中!

二:Hive的架构设计

1,  Hive的架构如下:

第53课:Hive第一课_第1张图片

2,  Hive中的数据只是元数据,所谓元数据就是Hive要操作的数据的描述信息,该Metastore默认存储在Derby中,但是Derby不能被生产环境下的多用去使用,所有生产环境下一般最常用的使用MySQL来存储Hive的元数据;

3,  Hive要操作的数据是由Hive的配置文件来决定的,在生产环境下该数据位于HDFS上(其实也就是HDFS上的普通文件而已,只不过是按照Hive的方式进行组织);

Hive的角度看,数据就是一张张的Table,我们的操作就是基于SQL的多维度的查询Table

4,  人们一直努力用Hive来取代传统的数据仓库,但是以失败告终!因为Hive太慢啦!!!所以业界目前趋势上黄金组合是Hive(数据仓库的存储引擎)+Spark SQL(分析查询引擎);

4,  HQL会被Hive解释、优化并生成查询计划,一般情况而言查询计划会被转化为MapReduce任务;

5,  但是形如select *from table 在不会转化成为MapReduce任务;

6,  Hive有索引吗?没有!


本课程笔记来源于:

第53课:Hive第一课_第2张图片

你可能感兴趣的:(第53课:Hive第一课)