千家信息网

为什么使用Hive

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