千家信息网

为什么使用Hive

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关为什么使用Hive的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件
千家信息网最后更新 2026年11月02日为什么使用Hive

这篇文章给大家分享的是有关为什么使用Hive的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  1. 什么是Hive

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

  1. 为什么使用Hive

学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

  1. Hive 系统架构

用户接口主要有三个:CLI,JDBC/ODBC和 WebUI

  1. CLI,即Shell命令行

  2. JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似

  3. WebGUI是通过浏览器访问 Hive

Metastore(Hive的元数据)

  1. 元数据包含了Hive包表的表名、字段分区属性等表的属性信息

  2. 默认使用Derby数据库作为默认的元数据仓库(嵌入式,只支持单session回话)

  1. Hive与传统数据的对比


Hive

RDBMS

查询语言

HQL

SQL

数据存储

HDFS

Raw Device or Local FS

执行

MapReduce

Excutor

执行延迟

高

低

处理数据规模

大

小

索引

0.8版本后加入位图索引

有复杂的索引

  1. Hive与hadoop 的调用关系

  1. Hive安装

  2. 1. 下载hive源文件

  3. 2. 解压hive文件

  4. 3. 进入$HIVE_HOME/conf/修改文件

  5. a) cp hive-env.sh.template hive-env.sh

  6. b) cp hive-default.xml.template hive-site.xml

  7. 4. 修改$HIVE_HOME/bin的hive-env.sh,增加以下三行

  8. a) export JAVA_HOME=/usr/local/jdk1.7.0_45

  9. b) export HIVE_HOME=/usr/local/hive-0.14.0

  10. c) export HADOOP_HOME=/usr/local/hadoop-2.6.0

  11. 5. 伪分布模式使用默认的Derby就可以直接启动Hive控制台了,但一般都会修改为MySQL

修改$HIVE_HOME/conf/hive-site.xml

javax.jdo.option.ConnectionURL

jdbc:mysql://192.168.1.100:3306/crxy_job?

createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

root

javax.jdo.option.ConnectionPassword

admin

  1. 将MySQL的驱动包jar文件存放在HIVE_HOME/lib下

  2. 启动Hive,现在就可以执行Sql语句创建表了!

感谢各位的阅读!关于"为什么使用Hive"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0