Hive的基本介绍(一)

1.Hive产生的原因

  1. 方便对文件及数据的元数据进行管理,提供统一的元数据管理方式

  2. 提供更加简单的方式来访问大规模的数据集,使用SQL语言进行数据分析

 

2.Hive是什么?

  • Apache官网:The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.

  • Hive经常被大数据企业用作企业级数据仓库。

  • Hive在使用过程中是使用SQL语句来进行数据分析,由SQL语句到具体的任务执行还需要经过解释器,编译器,优化器,执行器四部分才能完成。

    1. 解释器:调用语法解释器和语义分析器将SQL语句转换成对应的可执行的java代码或者业务代码

    2. 编译器:将对应的java代码转换成字节码文件或者jar包

    3. 优化器:从SQL语句到java代码的解析转化过程中需要调用优化器,进行相关策略的优化,实现最优的查询性能

    4. 执行器:当业务代码转换完成之后,需要上传到MapReduce的集群中执行

3.Hive是数据仓库

数据库数据仓库
业务数据,需要很短时间内返回结果 只要分析之后,能得到结果就ok,当然时间越短越好
只能保存某个产品线 收集各种数据源的数据
可修改 不可修改

 

 

 

 

 

4.Hive架构图

1、用户访问接口

CLI(Command Line Interface):用户可以使用Hive自带的命令行接口执行Hive QL、设置参数等功能

JDBC/ODBC:用户可以使用JDBC或者ODBC的方式在代码中操作Hive

Web GUI:浏览器接口,用户可以在浏览器中对Hive进行操作(2.2之后淘汰)

2、Thrift Server:

Thrift服务运行客户端使用Java、C++、Ruby等多种语言,通过编程的方式远程访问Hive

3、Driver

Hive Driver是Hive的核心,其中包含解释器、编译器、优化器等各个组件,完成从SQL语句到MapReduce任务的解析优化执行过程

4、metastore

Hive的元数据存储服务,一般将数据存储在关系型数据库中,为了实现Hive元数据的持久化操作,Hive的安装包中自带了Derby内存数据库,但是在实际的生产环境中一般使用mysql来存储元数据

 

 

原文地址:https://www.cnblogs.com/bigdata-familyMeals/p/14118337.html