文档章节

Hive 入门介绍

林中漫步
 林中漫步
发布于 2016/07/13 13:54
字数 751
阅读 53
收藏 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
码字总数 33266
作品 0
深圳
架构师
私信 提问
hive视频教程|Hive入门及实战演练(2017版本)

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

人气王子333
2018/04/18
0
0
大数据实验室(大数据基础培训)——概要

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

孤岛旭日
2016/05/06
97
0
hadoop hive hbase 入门学习 (三)

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

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

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

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

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

Eric_Guan
2016/05/03
684
1

没有更多内容

加载失败,请刷新页面

加载更多

MySQL学习笔记之二

数据库的操作总结就是:增删改查(CURD),今天记录一下基础的检索查询工作。 检索MySQL 1.查询表中所有的记录 mysql> select * from apps;+----+------------+-----------------------+------...

凌宇之蓝
24分钟前
0
0
PaddlePaddle-GitHub的正确打开姿势

GitHub是一个面向开源及私有软件项目的托管平台、也是项目版本管理工具,会使用它是程序员入门的必备技能。PaddlePaddle也不例外,所有的源码及项目进展都在GitHub上开源公布。但对于刚入门写...

深度学习之路
24分钟前
1
0
最强NLP模型BERT可视化学习

摘要: 最强NLP模型谷歌BERT狂破11项纪录,全面超越人类,本文通过可视化带你直观了解它。 2018年是自然语言处理(Natural Language Processing, NLP)领域的转折点,一系列深度学习模型在智...

阿里云官方博客
31分钟前
1
0
导出功能

public void downloadD(HttpServletRequest request, HttpServletResponse res,String contractName, String contractPath) throws IOException {// FileAttach fileAttach = fileA......

卖星星的小矮人
35分钟前
1
0
gradle 打包可执行jar包

group 'android.com'version '1.0-SNAPSHOT'apply plugin: 'java'sourceCompatibility = 1.8repositories { mavenCentral()}jar { manifest { attributes ('Main-......

zdglf
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部