文档章节

Hive 入门介绍

林中漫步
 林中漫步
发布于 2016/07/13 13:54
字数 751
阅读 47
收藏 0
点赞 0
评论 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编程参考

© 著作权归作者所有

共有 人打赏支持
林中漫步
粉丝 91
博文 55
码字总数 33247
作品 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
大数据经典学习路线(及供参考)之 一

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

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

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

Eric_Guan
2016/05/03
684
1
当我说要做大数据工程师时他们都笑我,直到三个月后……

GitChat 作者:Fickr孫啟誠 原文: 三个月大数据研发学习计划实战解析 关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 【不要错过文末彩蛋】 申明: 本文旨在为普通程序员(Java程序...

gitchat
2017/10/25
0
0
零基础学习hadoop到上手工作线路指导(中级篇)

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结。 五一假期:在写点内容,也算是总结。上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为...

一枚Sir
2014/08/07
85
0
[Hadoop大数据]——Hive部署入门教程

Hive是为了解决hadoop中mapreduce编写困难,提供给熟悉sql的人使用的。只要你对SQL有一定的了解,就能通过Hive写出mapreduce的程序,而不需要去学习hadoop中的api。 在部署前需要确认安装jdk...

青夜之衫
2017/12/05
0
0
大数据学习之路(持续更新中...)

在16年8月份至今,一直在努力学习大数据大数据相关的技术,很想了解众多老司机的学习历程。因为大数据涉及的技术很广需要了解的东西也很多,会让很多新手望而却步。所以,我就在自己学习的过...

青夜之衫
2017/12/05
0
0
sparkSQL1.1入门之十:总结

回顾一下,在前面几章中,就sparkSQL1.1.0基本概念、运行架构、基本操作和实用工具做了基本介绍。 基本概念: SchemaRDD Rule Tree LogicPlan Parser Analyzer Optimizer SparkPlan 运行架构...

Zero零_度
2016/07/22
4
0
HIVE从入门到精通

1背景 应用于工业的商务智能收集分析所需的数据集正在大量增长,使得传统的数据仓库解决方案变得过于昂贵。Hadoop是一个流行的开源map-reduce实现,用于像yahoo, Facebook一类的公司。来存储...

超人学院
2016/08/02
191
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
7分钟前
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
27分钟前
0
0
HTTP协议通信原理

了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务。 HTTP使用...

寰宇01
50分钟前
0
0
【Java动态性】之反射机制

一、Java反射机制简介

谢余峰
51分钟前
1
0
Centos 6.X 部署环境搭建

1.Linux学习笔记CentOS 6.5(一)--CentOS 6.5安装过程

IT追寻者
今天
0
0
博客即同步至腾讯云+社区声明

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vy9bsmadbko...

xiaoge2016
今天
1
0
大数据教程(3.1):Linux系统搭建网络YUM源服务器

博主在前面的2.5章节讲述了linux系统本地YUM服务器的搭建和httpd轻量级静态网站服务器的安装,本节博主将为大家分享内网环境中搭建自己的网络YUM服务器的全过程。如果大家对本地YUM服务器还不...

em_aaron
今天
1
0
蚂蚁技术专家:一篇文章带你学习分布式事务

小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务...

Java大蜗牛
今天
1
0
新的Steam应用将拓展服务项目

导读 未来几周,Steam将推出两个免费的应用程序Steam Link和Steam Video。这两个应用程序都旨在拓展Steam平台的业务和便利性。 即将开放的Steam Link应用程序最先提供了Android测试版,它将允...

问题终结者
今天
0
0
golang 第三方包的使用总结

golang 第三方包的安装的方法: 1. go get 安装 $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时...

科陆李明
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部