Hive

一句话描述Hive:基于Hadoop的一个一个数据仓库工具;可以将结构化的数据文件映射为一张数据表,并提供完整的sql查询功能,可以将sql语句转化为mapreduce任务运行;也正是由于这种机制,导致Hive最大的缺点就是慢,Map/Reduce本身只适合批量、长周期任务,类似查询这种短、平、快的业务,代价太高。

Hbase

HBase 的核心是将数据抽象成表,表中只有rowkey 和columnfamily。rowkey 是记录的主键,
过Key/Value 很容易找到;columfamily 中存储实际的数据。仅能通过主键(rowkey)和主键的rar
来检索数据,仅支持单行事务(可通过 Hive 支持来实现多表 Join 等复杂操作)。主要用来存储非
构化和半结构化的松散数据
正是由于 HBase 的这种结构,应对查询中带了主键(useid)的应用非常有效,查询结果返回
度非常快。而对于没有带主键且通过多个维度水查询时,就非常困难。为了解决这个问题,在 HBas
上实现了一些技术方案,效果也基木差强人意。
二级素引,核心思路仿照数据库建素引方式对需要查询的列建素引,带来的问题是影响加载速
度、数据膨账率大。二级索引不能建太多,最多1~2个。
HBase 自身的协处理器,遇到不带rowkey 的查询,由协处理器通过线程并行扫描。
HBase 不支持 SQL 语法,使用非常不便,所以诞生丁 Phoenix。 Phoenix 是通过一个嵌人的 JDBC
驱动存储在HBase 中的数据的查询。Phoenix 可以让龙发者在 HBase数据集上使用 SQL 查询。Phoenix
查询引擎会将 SQL 查询转换为一个或多个HBase 的扫描操作,并合并执行以生成标准的 JDBC 结果
集。对于简单查询来说,Phoenix 的性能甚至胜过 Hive。

Kudu

由于 HBase、Parquet 不能兼顾分析和更新的需求,所以需要一个新的存储引擎可以同
吞吐的分析应用及少量更新的应用,Kudu 存储引擎应运而生。Cloudera 的设计目标如下":
•在扫描和随机访问两种场景下都有很强的性能,帮助客户简化混合架构。
•高 CPU 利用率
•高V0效率,充分利用现代存储。
•支持数据原地更新。
•支持双活集群。
Kudu 的核心机制如下:
(1)模仿数据库,以二维表的形式组织数据,创建表的时候需要指定 Schema,所以只
化数据
(2)每张表指定一个或多个主键
(3)支持 insert、update、delete 操作,这些修改操作都要指定主键

(4)read 操作,只支特 scan 原语

(5)-—致性模型,默认支特 snapshot
(6) Cluster 类似 HBase 简单的主备结构
(7)单张表支持水平分割

(8)使用 Raf 协议,可以根据 SLA 指定备份块数量
(9)列式存储
(10)数据先更新到内存中,最后再合并到最终存储中,有专门的后台进程负责
(11)延迟物化,好处是代码实际执行时,对于一些选择性条件的查询,可以直接跳过不必要的
数据
(12)支持和 MR、 Spark、Impala 等集成,支持 Locality、 Columnar Projection、Predicate
Pushdown 等

选取

  1. Kudu项目的初衷是在hive的批量处理和hbase的随机读写之间找一个平衡点。
  2. kudu的批量处理性能优于hbase,随机读写优于hive。
  3. hive的一般用于构建数据仓库,kudu一般用于做近实时的查询分析。
  4. hive一般要配合impala或者presto或者kylin等做交互式查询
  5. kudu一般配合impala做交互式查询,也可以配合其他的做数据查询。
  6. hbase一般可以配合apache Phoenix提供查询功能。
  7. 使用hive、kudu、hbase还要看需求:
  • 如果是建立数据仓库,做T+1天的BI系统,还是要选择Hive。
  • 如果希望数据是分钟级别的延时,希望尽量快的看到结果,而且是结构数据,选kudu是没错的。
  • 如果需求是大量快速的写,经常单条的读,那必须是hbase,kudu和hive都不行。

它们三个各有所长,没有谁能取代谁,一般在企业中也都是互相配合使用来应对多种需求场景

文献参考

1.kudu会取代hive吗? - 知乎

2.书籍:大数据架构详解:从数据获取到深度学习

Hbase hive kudu的区别和使用场景相关推荐

  1. hive与hbase的联系与区别

    hive与hbase的联系与区别: 共同点: 1.hbase与hive都是架构在hadoop之上的.都是用hadoop作为底层存储. 他们的底层是要通过mapreduce分布式计算的,hbase.hi ...

  2. Hive常见的存储格式的区别与应用场景

    Hive常见的存储格式的区别与应用场景 一.文件存储格式 行存储和列存储 1.TextFile 2.sequencefile 3.RC 4.orc(工作中常用) 5.parquet 二.四种存储格式分 ...

  3. ES, MongoDB, HBase的区别和使用场景

    原文网址:ES, MongoDB, HBase的区别和使用场景_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍技术选型:ES, MongoDB, HBase的区别和使用场景. 简要对比 支持情 ...

  4. Hive、Pig、HBase的关系与区别,值得收藏!

    本文首发于微信空中好「对白的算法屋」 Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来 ...

  5. 【hive】Hive常见的存储格式的区别与应用场景

    Hive常见的存储格式的区别与应用场景 一.文件存储格式 行存储和列存储 1.TextFile 2.sequencefile 3.RC 4.orc(工作中常用) 5.parquet 二.四种存储格式分 ...

  6. Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    编者按:HDFS和MapReduce是Hadoop的两大核心,除此之外Hbase.Hive这两个核心工具也随着Hadoop发展变得越来越重要.本文作者张震的博文<Thinking in BigD ...

  7. Thinking in BigData(八)大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

          纯干货:Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解. 通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS.MapReduce.Hbase.H ...

  8. Hbase、Kudu和ClickHouse横向对比

    好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受. 目录 1 前言 2 安装部署方式对比 3 组成架构对比 4 基本操作对比 4.1 数据读写操作 4.2 数据查询操作 ...

  9. HBase、Kudu 和 ClickHouse 全视角对比

    前言 Hadoop生态圈的技术繁多.HDFS一直用来保存底层数据,地位牢固.Hbase作为一款Nosql也是Hadoop生态圈的核心组件,它海量的存储能力,优秀的随机读写能力,能够处理一些HDFS不足 ...

最新文章

  1. [声明]关于春节回家期间不能更新Blog的说明
  2. 屏幕截图在网页设计中应用的30个优秀案例
  3. git 撤销修改以及删除文件(亲测最后一个删除后还原)
  4. 【Java单例模式】Java单例模式之懒汉模式线程安全
  5. php最简单漂亮的excel导出,php把数据表导出为Excel表的最简单、最快的方法(不用插件)...
  6. idea中Terminal显示不全或不显示问题的解决办法
  7. python3-Django3-网站模板
  8. 图像处理基本算法-直方图均衡
  9. PHP指定字段的多维数组排序方法
  10. 小程序ios android差异,解决小程序textarea在安卓和ios上padding不一的问题
  11. 桌面图标文字有蓝底怎么办
  12. [HAL]STM32F1光照度测量BH1750 串口输出
  13. 组合和聚合举例说明_组合关系和聚合关系.
  14. IT培训班真的有用吗?IT培训包就业是真的吗?
  15. Python安装torch模块报错处理
  16. 招商信诺人寿2020年理赔年报启示:重疾保障仍显不足
  17. 微软专家教你,如何搞定树莓派 AI 服务开发
  18. U盘启动盘重装win7/10系统
  19. 全能站群管理软件AI写文章定时发布
  20. Salesforce中Billing Address和Shipping Address的区别

热门文章

  1. Opencascade 开发 1章
  2. html5 xml在线编辑,xml在线(在线编辑xml文件)
  3. Java 反射和映射(主要描述下反射)
  4. Linux搭建MQTT服务器(mosquitto)并使用
  5. 算术表达式求值(C语言栈)
  6. django框架全解
  7. 计算机组成原理-课设
  8. IDEA查看jks文件
  9. 微积分的意义(这也是百度出来的。不过感觉这个不错)——了解历史很重要
  10. 大数相乘(数组表示)