由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看, Hive 和数据库除了拥有类似的查询语言,再无类似之处。

本文将从多个方面来阐述 Hive 和数据库的差异。数据库可以用在 Online 的应用中,但是Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解 Hive 的特性。

1.4.1 查询语言

由于 SQL 被广泛的应用在数据仓库中,因此,专门针对 Hive 的特性设计了类 SQL 的查
询语言 HQL 。熟悉 SQL 开发的开发者可以很方便的使用 Hive 进行开发。

1.4.2 数据更新

由于 Hive 是针对数据仓库应用设计的,而 数据仓库的内容是读多写少的。 因此, Hive 中不建议对数据的改写,所有的数据都是在加载的时候确定好的。

数据库中的数据通常是需要经常进行修改的,因此可以使用 INSERT INTO … VALUES 添加数据,使用 UPDATE … SET 修改数据。

1.4.3 执行延迟

Hive 在查询数据的时候,由于没有索引,需要扫描整个表,因此延迟较高。另外一个导
致 Hive 执行延迟高的因素是 MapReduce 框架。由于 MapReduce 本身具有较高的延迟,因此在利用 MapReduce 执行 Hive 查询时,也会有较高的 延迟。

相对的,数据库的执行延迟较低。当然,这个低是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive 的并行计算显然能体现出优势。

1.4.4 数据规模

由于Hive 建立在集群上并可以利用 MapReduce 进行并行计算,因此可以支持很大规模的数据;对应的,数据库可以支持的数据规模较小。

1.4 Hive和数据库的比较相关推荐

  1. Hive的数据库和表

    本文介绍一下Hive中的数据库(Database/Schema)和表(Table)的基础知识,由于篇幅原因,这里只是一些常用的.基础的. Hive的数据库和表 先看一张草图: Hive结构 从图上可以 ...

  2. Hive与数据库的异同

    http://www.cnblogs.com/Richardzhu/p/3364909.html 一.Hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库 ...

  3. Hive和数据库有什么区别

    由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库.其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类 ...

  4. hive操作数据库实验

    任务一.hive创建数据库(10分) 创建一个数据库,以你的用户名命名,创建成功后使用use命令切换为该库,并执行set hive.cli.print.current.db=true;截图作为答案(3 ...

  5. 在hue当中设置hive当中数据库的控制权限。

    这段时间在搞大数据的集群搭建工作,并且安装了hive的服务,但是没有对其中的数据库的操作权限做限制,每个人都可以对数据库进行增删改查.今天有空做了一下了对hive数据库当中的数据库做一些限制. 我们都 ...

  6. linux hive创建数据库失败,Hive本地模式安装及遇到的问题和解决方案

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

  7. mysql 迁移到tidb_通过从MySQL迁移到TiDB来水平扩展Hive Metastore数据库

    mysql 迁移到tidb Industry: Knowledge Sharing 行业:知识共享 Author: Mengyu Hu (Platform Engineer at Zhihu) 作者: ...

  8. python操作hive数据库代码_Python连接Hive操作数据库

    前言 客户端连接Hive需要使用HiveServer2.HiveServer2是HiveServer的重写版本,HiveServer不支持多个客户端的并发请求.当前HiveServer2是基于Thri ...

  9. HIVE与数据库工具建立连接

    1.采用数据库工具DBeaver 进入https://dbeaver.io/download/下载DBeaver.下载后进行安装,选择合适的磁盘,然后一直点击下一步,即可安装成功. 2.通过ODBC的 ...

最新文章

  1. java编写代码时易出错_归纳:编写Java程序最容易犯的21种错误
  2. Jquery获取select,dropdownlist,checkbox下拉列表框的值
  3. 大剑无锋之Hadoop的三个作业调度器【面试推荐】
  4. apache图片cache容量_apache利用mod_cache缓存图片等
  5. Makefile for Sphinx documentation
  6. 为什么没有看到webcontent_环卫工人工资低工作辛苦,为什么还有那么多人愿意做呢?...
  7. [MTK][FAQ20888] 开关机、重启时间优化
  8. linux上dig命令,Linux中dig命令起什么作用呢?
  9. C语言的文件读写函数
  10. 微信小程序UI库组件库合集
  11. Android:JNI 与 NDK到底是什么?(含实例教学)
  12. 问题解决:Unable to establish SSL connection.
  13. 聚币网API[Python3版]
  14. 超级科技网络安全风险评估服务,全面了解网络系统面临的安全风险
  15. 判断手机号输入的是否正确
  16. oracle9i awrrpt,Oracle AWR 介绍及报告分析(1) final
  17. 机器学习基石(台湾大学 林轩田),Lecture 1: The Learning Problem
  18. 菜刀php后门,关于菜刀后门排查
  19. springboot整合netty实现tcp通信
  20. 西交大卢院士、方学伟团队:钛纤维增强铝基复合材料增材制造技术研究

热门文章

  1. context:component-scan报错
  2. Egret的容器--删除对象,遮罩
  3. 交换机基础设置之vtp管理vlan设置
  4. 查找表存在于那些proc中
  5. 2017年山东省ACM省赛总结
  6. Ubuntu16.04 安装配置Caffe
  7. 怎么在MyEclipse中快速配置spring框架-非web项目
  8. 12月23号 Foundation库NSString操作
  9. 第六次作业——团队作业
  10. 算法——海量数据(5%)