zoukankan      html  css  js  c++  java
  • Hbase和Hive的特点,和应用场景

    转:http://www.imooc.com/article/271342

    Hbase是什么?

    Hbase是一个架构在Hdfs文件系统上的列式存储,是开源的,分布式,面向列的数据库。适合于非结构化数据存储的数据库。

    Hbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,可以在廉价的PC Server搭建大规模结构化存储集群.

    1,HBase位于Hadoop生态系统的结构化存储层。

    webp

    image

    2,HDFS作为其底层的文件存储

    3,MapReduct为Hbase提供高性能的计算能力

    4,Zookeeper为HBase提供了稳定的服务和failover的能力

    webp

    image

    Hive是什么?

    hive是一个基于Hadoop的一个数据仓库工具。可以将结构化数据映射为一张数据库表,并且提供sql的查询能力,可以将sql换换为MapReduce任务进行。

    下面我们看看Hive的架构图:

    1,用户接口,hive主要有三个接口,CLI(CLI启动的时候会同时气筒一个Hive的副本),Client(hive的客户端,连结hive server),web UI(通过浏览器访问)

    2,元数据存储,hive将元数据存储在数据库中如:mysql。

    3,Driver(解释器、编译器、优化器、执行器):完成词法分析,语法分析,优化,编译,优化以及查询计划的生成,随后由MapReduce使用。

    4,Hadoop ,hive的数据存储在Hdfs中。大部分的查询由MapReduce完成。

    webp

    image

    Hbase

    上面我们分别看了Hbase的特点,hive的特点,那么Hbase和Hive的差别是什么以及各自的使用场景是什么?

    Hbase和Hive 二者都是以Hdfs为文件存储。

    Hbase支持列扩展,可以对单元格修改。采取K-V的设计,因此查询效率比较高,一般用于延迟忍耐低的场景;还有就是经常需要扩展属性,修改属性场景。

    Hbase的查询一般通过命令窗口进行,语句比较负责,但是hive的采用标准的sql语法,门槛低,上手简单。当然Hbase也有Phoenix可以去支持 sql这样的语法操作。

    下面看看hbase具体的应用场景:

    千万并发、PB存储、KV基础存储、动态列、强同步、稀疏表、二级索引、SQL

    webp

    image

    对象存储:头条类、新闻类的的新闻、网页、图片存储在HBase之中,一些病毒公司的病毒库也是存储在HBase之中。

    时序数据:HBase之上有OpenTSDB模块,可以满足时序类场景的需求。

    推荐画像:用户的画像,是一个比较大的稀疏矩阵。蚂蚁的风控就是构建在HBase之上。

    时空数据:主要是轨迹、气象网格之类,滴滴打车的轨迹数据主要存在HBase之中,另外在技术所有大一点的数据量的车联网企业,数据都是存在HBase之中

    CubeDB OLAP:Kylin一个cube分析工具,底层的数据就是存储在HBase之中,不少客户自己基于离线计算构建cube存储在hbase之中,满足在线报表查询的需求。

    消息/订单:在电信领域、银行领域,不少的订单查询底层的存储,另外不少通信、消息同步的应用构建在HBase之上。

    消息/订单:在电信领域、银行领域,不少的订单查询底层的存储,另外不少通信、消息同步的应用构建在HBase之上。

    Hive 不能支持列扩展,支持追加,好像在新版本中可以支持修改,但是效率比较低。Hive处理的数据的吞吐量高,文件越大,hive的优势就约明显。一半用于 延迟忍耐高的场景。

    下面再来看看Hive的具体使用场景:

    1,分析网络日志。

    2,ETL清洗数据。

    3,构建数据仓库。

    4,数据挖掘

    最后在总结:Hbase和Hive本身都不能存储数据。二者都是对Hdfs上的文件在做了一次组织。从而适应不同的场景。Hbase 在与查询,动态列场景更有优势,但是无法进行数据分析和挖掘。二Hive本身无法在低延迟的场景下使用。Hive可以处理大量数据的ETL清洗。构建统一的标准的数据仓库,从而提供基础数据,共上层数据分析。所以hive更加偏向于数据分析。


    作者:慕姐8265434
    链接:http://www.imooc.com/article/271342
    来源:慕课网

  • 相关阅读:
    20200226 Java IO流——廖雪峰
    20200225 Java 多线程(2)-廖雪峰
    20200225 Java 多线程(1)-廖雪峰
    20200224 尚硅谷ElasticSearch【归档】
    20200224 一 概述
    20200222 尚硅谷Dubbo【归档】
    20200222 四、dubbo原理
    Improved robustness of reinforcement learning policies upon conversion to spiking neuronal network platforms applied to Atari Breakout game
    Reinforcement learning in populations of spiking neurons
    Solving the Distal Reward Problem through Linkage of STDP and Dopamine Signaling
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/12123629.html
Copyright © 2011-2022 走看看