Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行

  Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。因此,
  Hive 并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。

二:hive工作原理 

(一)Hive和Hadoop之间的工作流程图

hive(基于mapreduce)的介绍及安装 

(二)Hive和Hadoop框架的交互方式:

  1. Execute Query:Hive接口,如命令行或Web UI发送查询驱动程序(任何数据库驱动程序,如JDBC,ODBC等)来执行。

  2. Get Plan:在驱动程序帮助下查询编译器,分析查询检查语法和查询计划或查询的要求。

  3. Get Metadata:编译器发送元数据请求到Metastore(任何数据库)。

  4. Send Metadata:Metastore发送元数据,以编译器的响应。

  5. Send Plan:编译器检查要求,并重新发送计划给驱动程序。到此为止,查询解析和编译完成。

  6. Execute Plan:驱动程序发送的执行计划到执行引擎。

  7. Execute Job:在内部,执行作业的过程是一个MapReduce工作。执行引擎发送作业给JobTracker,在名称节点并把它分配作业到TaskTracker,这是在数据节点。在这里,查询执行MapReduce工作。(7.1 Metadata Ops:与此同时,在执行时,执行引擎可以通过Metastore执行元数据操作。)

  8. Fetch Result.:执行引擎接收来自数据节点的结果。

  9. Send Results:执行引擎发送这些结果值给驱动程序。

  10. Send Results:驱动程序将结果发送给Hive接口。

三:hive工作流程案例讲解(简单理解)

(一)建表---将信息存放入元数据库中

hive(基于mapreduce)的介绍及安装

 

(二)进行数据查询

hive(基于mapreduce)的介绍及安装

四:hive的安装 

(一)安装mysql数据库

如果不设置hive与mysql关联,则hive使用默认数据库,在不同目录下使用hive命令,则会创建不同数据库文件放入当前目录。而使用mysql则可以对数据进行统一管理

链接:https://pan.baidu.com/s/1CsKlOJZnmHZqJWb_daG3fg 
提取码:89om
下载方式

相关文章: