大数据仓库hive初识简介

hive是FaceBook实现并开源的用于解决海量结构化日志的数据统计,是为了解决Mapreduce编程的不便性以及成本高的问题,可以简化操作

什么是hive:

       处理的数据储存在HDFS上

       底层分析数据的实现是Mapreduce

       执行程序运行在yarn上

hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能(HQL),本质是将HQL转化为Mapreduce程序

hive处理的数据存储在hdfs上,执行是在yarn上边,不参与数据的存储和处理,所以hive是大数据的仓库而不是数据库

hive将结构化的数据文件,比如日志文件映射成一张表,这张表的名称,字段,字段类型等,以及映射的数据文件在hdfs的位置,这些信息成为表的元数据,元数据一般存储在关系型数据库(mysql)中

hive如何将HSQL转化为Mapreduce:

           通过驱动器:  Driver

              包含解析器  优化器  编译器   执行器

                     解析器:   将HSQL语句进行解析,比如表是否存在,字段是否存在,HSQL语句是否有误

                     优化器:    因为实现相同功能的HSQL语句的效率是不一样的,所以会进行基本的优化

                     编译器:    生成一个逻辑的执行计划

                      执行器:    将逻辑计划转换成可以运行的物理计划

hive的优点:

           *操作接口采用类SQL语法,简化开发

           *避免写Mapreduce,减少学习成本

           *统一的元数据管理,可与impala/spark等共享元数据

            *易扩展(支持自定义函数,可以扩展集群规模)

hive的使用场景:

            *数据的离线处理:  比如日志分析,海量结构化数据离线分析

            *hive的执行延迟比较高,因此常用于数据分析的对实时性要求不高的场合

             *hive优势在于处理大数据,对于小数据没有优势

猜你喜欢

转载自blog.csdn.net/ys_230014/article/details/80719782