文档章节

Hive 入门介绍

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

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

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编程参考
林中漫步
粉丝 104
博文 55
码字总数 33266
作品 0
深圳
架构师
私信 提问
加载中
请先登录后再评论。
hive UDAF开发和运行全过程

介绍 hive的用户自定义聚合函数(UDAF)是一个很好的功能,集成了先进的数据处理。hive有两种UDAF:简单和通用。顾名思义,简单的UDAF,写的相当简单的,但因为使用Java反射导致性能损失,而...

osc_9i8szhdc
2019/06/23
12
0
hadoop笔记本

海量数据     那些年Google公开的大数据领域论文     大数据量,海量数据 处理方法总结     布隆过滤器应用     Google Dremel 原理 – 如何能3秒分析1PB     Google Spa...

五大三粗
2015/05/28
0
0
hive介绍及架构设计

                    hive介绍及架构设计                                            作者:尹正杰 版权声明:原创作品,...

osc_k0q149k0
2019/05/09
3
0
全新2019年大数据学习路线(附全套视频教程及网盘下载)

什么是大数据? 大数据(BIG DATA)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增...

好程序员IT
2019/07/31
1
0
想要学好大数据技术拿到高薪?这些内容应该熟练掌握

前几天,有一些小伙伴跟我说对大数据很感兴趣,想要趁着有时间学习一波,想让我给推荐一下资料。那么今天我将分享一下大数据学习的主要内容,并分享一些与大数据有关的视频或pdf资料。 第一章...

程序员大大
2019/08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序|navigator组件-实现页面跳转

欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。 问题描述 现在大家所用的各种微信小程序都是看似结构简单、内容精炼...

算法与编程之美
03/31
6
0
【leetcode刷题】20T26-最后一个单词的长度

木又同学2020年第26篇解题报告 leetcode第58题:最后一个单词的长度 https://leetcode-cn.com/problems/length-of-last-word/ 【题目】 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回...

唐建权
03/01
0
0
我的电脑不联网,很安全。黑客:你还有风扇呢!

点击蓝色“ Python空间 ”关注我丫 加个“星标”,每天一起快乐的学习 转自机器之心 从 1988 年第一个网络蠕虫病毒诞生以来,「互联网危机四伏」的观念就已经深入人心。如果只是这样,不给电...

Rocky0429
05/10
0
0
[codeforces 1372D] Omkar and Circle 圆上区间动归

Codeforces Round #655 (Div. 2) 参与排名人数15842 天天熬夜打比赛,身体吃不消,作了一个充满幸福感的决定,赛后第二天再刷 [codeforces 1372D] Omkar and Circle 圆上区间动归 总目录详见htt...

osc_9mt0ncuk
10分钟前
10
0
不断进化的分支和需求管理

昨天有朋友在公众号私信问我几个关于代码分支管理的问题,这几个问题是我去年写的《在团队中使用GitLab中的Merge Request工作模式》一文结尾时抛出的几个问题: 如果系统上线后有紧急Bug需要...

冯威
2019/06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部