一、Hive是什么

起源自facebook由Jeff Hammerbacher领导的团队,构建在Hadoop上的数据仓库框架。设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据。2008年facebook把hive项目贡献给Apache。

由facebook开源,最初用于解决海量结构化的日志数据统计问题。ETL(Extraction-Transformation-Loading)数据抽取、加载、处理工具,构建在Hadoop之上的数据仓库。数据计算使用MR,数据存储使用HDFS。Hive 定义了一种类 SQL 查询语言——HQL,类似SQL,但不完全相同。通常用于进行离线数据处理(采用MapReduce),可认为是一个HQLMR的语言翻译器。

作为数据仓库工具,可以把Hadoop下的原始结构化数据变成Hive中的表 ,支持一种与SQL几乎完全相同的语言HiveQL。除了不支持更新、索引和事务,几乎SQL的其它特征都能支持。可以看成是从SQL到Map-Reduce的映射器 。提供shell、JDBC/ODBC、Thrift、Web等接口。

二、为什么使用Hive

简单,容易上手,提供了类SQL查询语言HQL。为超大数据集设计的计算/扩展能力 ,MR作为计算引擎,HDFS作为存储系统 。统一的元数据管理(HCalalog) ,可与Pig、Presto等共享 。

(1)Hive优点与长处

95%的Facebook任务由Hive写成,开发周期通常十分钟
Hive的所有执行,最终是转换为MapReduce
Hive的长处,在于数据统计如:pv,uv,ip的计算
group by,join
………………
精力放在数据逻辑上,优化数据结构和性能,而不再关注前人已经发明的轮子,不同同事之间的成果,可以方便的服用

(2)Hive缺点

Hive的HQL表达的能力有限:迭代式算法无法表达;有些复杂运算用HQL不易表达

Hive效率较低:Hive自动生成MapReduce作业,通常不够智能;HQL调优困难,粒度较粗;可控性差

三、Hive架构

(1)Hive的基本架构

1)用户接口
包括 CLI,JDBC/ODBC,WebUI
2)元数据存储(metastore)
默认存储在自带的数据库derby中,线上使用时一般换为MySQL
3)驱动器(Driver)
解释器、编译器、优化器、执行器
4)Hadoop
用 MapReduce 进行计算,用 HDFS 进行存储

(2)Hive的数据存储

1)Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表。
2)Hive 中所有的数据都存储在 HDFS 中,Hive 中包含以下数据模型:Table,External Table,Partition,Bucket。
3)Hive 中的 Table 和数据库中的 Table 在概念上是类似的,每一个 Table 在 Hive 中都有一个相应的目录存储数据。
例如表 tbl_pv放在目录 /wh/tbl_pv中,这里wh为hive-site.xml中${hive.metastore.warehouse.dir} 指定的数据仓库目录。
4)Hive 表中的一个 Partition 对应于表下的一个目录,所有的 Partition 的数据都存储在对应的目录中。
例如:tbl_pv 表中包含 ds 和 city 两个 Partition,则对应于 ds = 20090801, ctry = US 的 HDFS 子目录为:/wh/tbl_pv/ds=20090801/ctry=US;对应于 ds = 20090801, ctry = CA 的 HDFS 子目录为/wh/pvs/ds=20090801/ctry=CA

5)Buckets 对指定列计算 hash,根据 hash 值切分数据,每一个 Bucket 对应一个文件。可用于采样:

CREATE TABLE sales( id INT, name STRING)PARITIONED BY (ds STRING)CLUSTERED BY (id) INTO 32 BUCKETS;
SELECT id FROM sales TABLESAMPLE (BUCKET 1 OUT OF 32);

6)External Table 指向已经在 HDFS 中存在的数据,可以创建 Partition

Hadoop生态hive(一)介绍相关推荐

  1. Hadoop生态hive(三)Hive QL介绍

    一.表 创建表 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name CREATE TABLE 创建一个指定名字的表.Hive 创建内部表时,会将数据移 ...

  2. Hadoop生态hive(二)安装

    一.安装模式 内嵌模式:元数据保持在内嵌的Derby模式,只允许一个会话连接  本地独立模式:在本地安装Mysql,把元数据放到Mysql内  远程模式:元数据放置在远程的Mysql数据库 官方文档: ...

  3. Hadoop生态hive(四)数据类型

    转载自  Hive数据类型 一.列类型 列类型被用作Hive的列数据类型.它们如下: (1)整型 整型数据可以指定使用整型数据类型,INT.当数据范围超过INT的范围,需要使用BIGINT,如果数据范 ...

  4. Hadoop生态hive(六)Hive QL表

    一.创建表 语法: create [temporary] [external] table [if not exists] [db_name.] table_name [(col_name data_ ...

  5. Hadoop生态hive(五)Hive QL数据库

    (1)查看数据库 show databases; (2)使用数据库 use db; (3)查看当前数据库 #与mysql的select database();不一样 select current_da ...

  6. Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别

    Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我 ...

  7. 如何用形象的比喻大数据的技术生态Hadoop、Hive、Spark 之间是什么关系?

    最近我的同学给我发了一篇特别有意思的关于大数据的技术生态Hadoop.Hive.Spark 关系的解读文章.个人觉得非常有意思,通俗易懂,我转载到这里,希望大家一起学习. Luis 大数据 255 人 ...

  8. Hadoop 生态系列之 Mapreduce

    阅读文本大概需要 5 分钟.文章稍长,建议收藏慢慢看. 目前 Hadoop 系列文章的规划就是这样,持续补充完善中- 同时可以访问 https://data.cuteximi.com Hadoop 生 ...

  9. Hadoop 生态系列之 1.0 和 2.0 架构

    自学大数据有一段时间了,找工作历时一周,找到一家大厂,下周入职,薪资待遇还不错,公司的业务背景自己也很喜欢.趁着还没有入职,给大家争取先把 Hadoop 系列的文章总结完毕,可以当做科普文,也可以当做 ...

最新文章

  1. cent卸载mysql_centos 7.x 安装/卸载MySQL
  2. ListView与DateGridView
  3. Axure 6.5 RP下载,汉化
  4. 吉大19秋学期计算机应用基础在线作业,吉大16秋学期《计算机应用基础》在线作业一答案...
  5. SubSonic数据库操作
  6. 设置MySQL的字符编码
  7. 9.使用原生js实现类似于jquery的动画
  8. 蓝桥杯真题训练 2019.3题
  9. VirtualBox Failed to open/create the internal network 错误处理
  10. 运动目标检测跟踪各过程算法综述
  11. Vue:打印组件PrintPage
  12. 408计算机及格要什么水平,2019考研计算机408难度水平?
  13. Obsidian V0.14.6版本下实时渲染总是出Bug,时常渲染不出来
  14. 计网 - TCP 的稳定性:滑动窗口和流速控制是怎么回事?
  15. 数据分析工程师_第02讲Pandas教程(上篇)
  16. GCN学习:用PyG实现自定义layers的GCN网络及训练(五)
  17. 数字信息时代中国面临两个机遇
  18. 富士胶片3月底完成日立影像诊断业务收购;中国癌症早筛第一股诺辉健康登陆港交所 | 美通企业日报...
  19. wampServer 设置
  20. FreeRTOS软件定时器 基于STM32

热门文章

  1. 剑指 Offer 05. 替换空格(两种做法)
  2. [MyBatisPlus]测试BaseMapper的功能测试自定义功能
  3. LeetCode 783二叉搜索树节点最小距离-简单
  4. [蓝桥杯2015决赛]积分之迷-枚举(水题)
  5. c++ 多核cpu序列号_关于 CPU 的一些基本知识总结
  6. cg word List4
  7. PAT-A Maximum Subsequence Sum
  8. Ubuntu 安装 cuda deb 指令 不要自动装9.2
  9. [2020多校A层11.25]最大K段和(反悔贪心)
  10. 【SHOI2017】相逢是问候【扩展欧拉定理】【复杂度分析】【线段树】