前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文

Hive 的产生背景

Hadoop 生态系统就是为了处理大数据而产生的解決方案。

在 Hadoop 中的 MapReduce 计算模型能将计算作业任务切分成多个小单元,然后分布到各个节点上去执行,从而降低计算成本并提供高扩展性。

但是要使用 MapReduce 进行数据处理分析的门槛是比较高的,要先学会 Java 面向 MapReduce API 进行编程,这对于从事 DBA 或者运维的人来说门槛高、不易学。

那么能否让用户从一个现有的数据基础架构转移到 Hadoop 上来呢,比如说这个数据架构就是基于传统关系型数据库和 SQL 查询的。

对于大量的 SQL 用户来说,这个问题将如何解决?

基于这个挑战,在 Facebook 就诞生了 Hive。

什么是 Hive?

Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行。

Hive 是建立在 Hadoop 上的数据仓库基础构架,它提供了一系列的工具,可以用来进行数据提取转化加载( ETL ),这是一种可以存储、査询和分析存储在 Hadoop 中的大规模数据的机制。

为什么要使用 Hive ?

当我们使用 Hadoop 的 MapReduce 进行数据处理时面临着人员学习成本太高、项目周期要求太短、 MapReduce 实现复杂逻辑开发难度太大等问题。

这就是我们为什么要使用 Hive 的原因所在了。

当我们使用 Hve 时,操作接口采用类 SQL 语法,提供快速开发的能力。

避免了去写 MapReduce ,减少开发人员的学习成本,而且扩展功能很方便。

Hive 有什么特点?

  1. 可扩展: Hive 可以自由扩展集群的规模,一般情况下不需要重启服务。
  2. 延展性: Hive 支持用户自定义函数,用户可以根据自己的需求来实现自定义的函数。
  3. 容错性: 良好的容错性,即使节点出现问题 SQL 仍可完成执行。

Hive 有什么优缺点?

  • 优点

    • 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。
    • 避免了去写MapReduce,减少开发人员的学习成本。
    • Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
  • 缺点

    • Hive 不支持记录级别的增删改操作
    • Hive 的查询延时很严重
    • Hive 不支持事务

Hive 是什么?Hive 有什么特点?相关推荐

  1. Hive:解决Hive创建文件数过多的问题

    Hive:解决Hive创建文件数过多的问题 参考文章: (1)Hive:解决Hive创建文件数过多的问题 (2)https://www.cnblogs.com/wcwen1990/p/7600161. ...

  2. hive 安装_7.Hive介绍以及安装

    hive简介 Hive : 数据仓库. Hive:解释器,编译器,优化器等. Hive 运行时,元数据存储在关系型数据库里面. Hive架构 1.Hive将元数据存储在数据库中,如mysql.derb ...

  3. [hive学习翻译]Hive - Introduction

    术语"大数据"用于大数据集的集合,包括大量,高速度和各种日益增加的数据.使用传统的数据管理系统,很难处理大数据.因此,Apache Software Foundation引入了一个 ...

  4. Hive学习笔记 —— Hive的安装

    1. Hive的安装模式 官网下载安装包:http://hive.apache.org/ 历史版本下载:http://archive.apache.org/ 本次使用:http://archive.a ...

  5. Hive学习笔记 —— Hive的体系结构

    1. Hive的体系结构 Hadoop 用HDFS进行存储,利用MapReduce进行计算 元数据存储(MetaStore) 通常是存储在关心数据库,如mysql.derby中 在Hive执行HQL语 ...

  6. php调用hive,如何进行hive的简单操作

    搭建Hive的图形界面 添加war包到hive的lib目录,需要大家耐心学习. 1. 启动hive 因为需要借助于MySQL保存Hive的元数据,所以,请首先启动MySQL数据库service mys ...

  7. 将服务器文件加载至hive表中,Hive入门到剖析(四)

    10 Hive体系架构 10.1概念 用户接口:用户访问Hive的入口 元数据:Hive的用户信息与表的MetaData 解释器:分析翻译HQL的组件 编译器:编译HQL的组件 优化器:优化HQL的组 ...

  8. java hive demo_java 操作hive通过jdbc

    直接代码吧:记得要开启hive jdbc服务hive --service hiveserver package hive; import java.sql.Connection; import jav ...

  9. Hive精华问答 | Hive的数据模型是怎样的?

    Hive是一个数据仓库基础工具,它是建立在Hadoop之上的数据仓库,在某种程度上可以把它看做用户编程接口(API),本身也并不存储和处理数据,依赖于HDFS存储数据,依赖MR处理数据.它提供了一系列 ...

  10. Unable to instantiate SparkSession with Hive support because Hive classes are not found

    文章目录 1.美图 2.背景 1.美图 2.背景 Exception in thread "main" java.lang.IllegalArgumentException: Un ...

最新文章

  1. Spring越来越强,而我们越来越快餐!离开了Spring,居然API都写不出来了! 程序猿DD...
  2. Python将classification_report的结论转化为字典(dict)形式并提取模型的灵敏度(sensitivity)、特异度(specificity)、PPV和NPV指标、混淆矩阵图
  3. Android json操作之取得一个对象
  4. mysql where in 中多个参数查询
  5. Android 数据库框架ormlite 使用精要
  6. 4由通道检测_大唐阜新煤制天然气「榜样力量」实训做实出实效——废水总酚检测时间由4小时缩短至10分钟...
  7. 5.1 vim—5.4vim编辑器
  8. 使用Sonar管理代码质量(一)–简述与安装
  9. java虚拟机内存模型与垃圾回收知识复习总结
  10. C语言学习笔记--函数
  11. OpenSolaris系列文章之----投影仪设置
  12. 深思新推出高性价比智能卡加密锁--魔锐1
  13. 阿里云服务器部署springboot项目
  14. 素数判断和大合数分解_素数合数分解公式与原理 质数秘密已解开
  15. 多媒体呼叫中心技术、应用与发展前景
  16. 《精通git》笔记之九(储藏与清理、签署工作、搜索)
  17. 人才管理是什么意思_复合型人才是什么意思(复合型人才八种能力)
  18. 如何做番茄炖牛腩——hadoop理解
  19. AutoSAR系列讲解 - 交流专区
  20. mysql 字符集 对勾_css如何在菜单上实现对勾?(代码)

热门文章

  1. 使用Word的一些技巧记录
  2. 让pandas处理大数据速度变快的三个技巧
  3. win10下无线网络不稳定总掉线
  4. (笔记)ideavim和ide冲突解决方法
  5. 简单Case函数和Case搜索函数的区别
  6. Altium Designer PCB生产gerber文件教程
  7. 炉石传说服务器维护有补偿吗,炉石传说服务器故障怎么办 服务器故障补偿一览...
  8. 留学Assignment写作注意事项怎么分析?
  9. 图论算法之最短路径(Dijkstra、Floyd、Bellman-ford和SPFA)
  10. 送能写 Bug 的笔记本电脑!