大数据系列-Hive入门与实战(ppt 69张)
- 格式:ppt
- 大小:1.58 MB
- 文档页数:70


HIVE编程实战一HIVE基础1.1 什么是hive?Hadoop生态系统是为了处理大数据集而产生的一个合乎成本效益的解决方案。
Hadoop实现了一个特别的计算模型,即MapReduce,其可以将计算认为分割成多个处理单元然后分散到Hadoop集群中的家用或服务器级别的硬件机器上,从而降低成本并提供动态扩展的能力。
基于这个计算模型的下面是一个被称之为HDFS(Hadoop分布式文件系统)的分布式文件系统。
不过,仍然存在一个挑战,那就是用户如何从一个现有的数据基础架构转移到Hadoop 上,而这个基础架构是基于传统关系型数据库和结构化SQL语言的。
对于大量的关系型数据库的维护、实施、开发人员,这个问题将如何解决呢?这就是Hive出现的原因。
Hive提供了一个被称之为Hive查询语言,简称HQL的SQL方言(与MYSQL及其类似),用来查询存储在Hadoop集群中的数据。
Hive可以将大多数的查询转换为MapReduce的job任务,从而使得采用简单的SQL编程方式,来替换掉原有的MapReduce中的复杂java编程。
Hive最适合于数据仓库应用程序,使用该应用程序进行相关的静态数据分析,不需要快速响应给出结果,而且数据本身不会频繁变化。
Hive不是一个完整的数据库,其中最大的限制就是hive不支持记录级别的更新、插入或者删除,但是用户可以通过查询生成新表或者将查询结果导入到文件中。
同时,基于Mapreduce的hive查询延时比较严重,没有传统的RDBMS查询速度快,hive不支持事物。
因此,hive是最适合数据仓库应用程序的,其可以维护海量数据,而且可以对数据进行分析,然后形成统计结果以及报表等。
1.2 HIVE组成模块所有的命令和查询都会进入到Driver(驱动模块),通过该模块对输入进行解析编译,对需求的计算进行优化,然后按照指定的步骤执行。
当需要启动MapReduce任务时,Hive 本身是不会生成Java Mapreduce程序。