文档章节

Hive 入门介绍

林中漫步
 林中漫步
发布于 2016/07/13 13:54
字数 751
阅读 52
收藏 0

1 Hive是什么

  • Hive是构建在Hadoop之上的数据仓库平台;

  • Hive是一个SQL解析引擎,它将SQL语句转译成MapReduce任务,并在Hadoop上执行;

  • Hive表是HDFS的一个文件目录,一个表名对应一个目录名,如果有分区表的话,分区值是子目录。

2 Hive的设计目标

  • 使Hadoop上的数据操作与传统SQL相结合,让熟悉SQL的开发人员能够轻松向Hadoop平台迁移;

  • Hive提供类似SQL的查询语言HQL, HQL在底层被转换为相应的MapReduce操作;

  • Hive在HDFS上构建数据仓库来存储结构化的数据,这些数据一般来源于HDFS上的原始数据,使用Hive可以对这些数据执行查询、分析等操作。

3 Hive的体系结构

输入图片说明

    Hive有三种service,分别是CLI、Hiveserver、HWI。
     - CLI是命令行接口,为默认服务,启动方式: $HIVE_HOME/bin/hive 或 $HIVE_HOME/bin/hive --service cli。每个CLI独享配置,即在一个CLI里修改配置不影响别的CLI。
     - HiverServer通过thrift对外提供服务,默认端口10000,启动方式为:$HIVE_HOME/bin/hive --service hiveserver。 多个JDBC可同时连到同一HiveServer上,所有会话共享一份配置。(注:从0.9.0起HiveServer配置已经从global降为session,即每个session的配置相互独立,见 [HIVE-2503])
     - HWI为web接口,可以通过浏览器访问hive,默认端口9999,启动方式为:$HIVE_HOME/bin/hive --service hwi。 多个浏览器可同时连到同一HWI上,所有会话共享一份配置。

     每个service互相独立,有各自的配置文件(配置metasotre/namenode/jobtracker等),如果metasotre的配置一样则物理上对应同一hive库。

     Driver用于解释、编译、优化、执行HQL,每个service的Driver相互独立。

     MetaStoreMetastore是Hive元数据的集中存放地,一般采用mysql或derbby。MetaStore位置通过参数javax.jdo.option.ConnectionURL来指定,可在会话中自由修改。相关的参数包括:

     javax.jdo.option.ConnectionDriverName   #数据库驱动    
     javax.jdo.option.ConnectionURL          #数据库ip端口库名等    
     javax.jdo.option.ConnectionUserName     #用户名   
     javax.jdo.option.ConnectionPassword     #密码     

4 Hive的工作原理

     下图描述了Hive 和Hadoop之间的工作流程: 输入图片说明

5 Hive的优势

  • 并行计算,可充分利用集群的CPU计算资源、存储资源;
  • 处理大规模数据集;
  • Hive支持标准SQL语法,免去了编写MR程序的过程,减少了开发成本;
  • Hive是为大数据批量处理而生的,解决了传统的关系型数据库在大数据处理上的瓶颈;

6 Hive的应用场景

6.1 适合场景

  • 数据挖掘
  • 数据分析、联机分析处理(OLAP)
  • SQL是商业智能报表的通用语言, 使得Hive有条件与这些BI产品进行集成

6.1 不适合场景

  • 复杂的机器学习算法
  • 复杂的科学计算
  • 交互式的实时查询

7 参考资料

  1. Hive体系架构
  2. Hive编程参考

© 著作权归作者所有

共有 人打赏支持
林中漫步
粉丝 97
博文 55
码字总数 33323
作品 0
深圳
架构师
私信 提问
大数据实验室(大数据基础培训)——概要

为某企业做的培训,完整文档见:http://gudaoxuri.github.io/bd-lab/ 1. 概要说明 本工程为大数据培训的指导教程,包含了培训实践各个环节的说明及相关代码。 1.1. 课程概要 名称 内容 第一天...

孤岛旭日
2016/05/06
97
0
hive视频教程|Hive入门及实战演练(2017版本)

Hive入门及实战演练(2017版本) 网盘地址:https://pan.baidu.com/s/10RZX4Eqrrn8F1MfXrkFM5g 密码: ecbv 备用地址(腾讯微云):https://share.weiyun.com/5rDivzP 密码:xsdfyq hive是基于...

人气王子333
04/18
0
0
hadoop hive hbase 入门学习 (三)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// hadoop 自学系列 hado......

curiousby
2015/03/12
0
0
大数据经典学习路线(及供参考)之 一

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此...

柯西带你学编程
05/22
0
0
kylin初体验-入门介绍

kylin初体验 12月开始,为了提高公司OLAP系统的查询速度,开始接触kylin,前前后后折腾了近三个月。踩了无数的坑,才算是初窥门径。特在此把自己的感悟、理解记录下来,算是重新梳理一边自己...

Eric_Guan
2016/05/03
684
1

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
2
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
6
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
12
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部