Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • Hadoop科普

    post by onelong / 2016-11-18 18:56 Friday [工作]

    Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop。 Hive帮助熟悉SQL的人运行MapReduce任务,Hive目前不支持更新操作,Hive适合用来对一段时间内的数据进行分析查询,Hive必须提供预先定义好的schema将文件和目录映射到列。
    HBase是一种Key/Value系统,它运行在HDFS之上, Hbase非常适合用来进行大数据的实时查询。Facebook用Hbase进行消息和实时的分析。它也可以用来统计Facebook的连接数。
    Hive和Hbase是两种基于Hadoop的不同技术--Hive是一种类SQL的引擎,并且运行MapReduce任务,Hbase是一种在Hadoop之上的NoSQL 的Key/vale数据库。当然,这两种工具是可以同时使用的。就像用Google来搜索,用FaceBook进行社交一样,Hive可以用来进行统计查询,HBase可以用来进行实时查询,数据也可以从Hive写到Hbase,设置再从Hbase写回Hive。 

    1 、HBase与Hive都是架构在hadoop之上的,都是用hadoop作为底层存储
    2、Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。
    3、想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。
    4、Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。
    5、Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑。
    6、Hive借用hadoop的MapReduce来完成一些hive中的命令的执行
    7、HBase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
    8、HBase是列存储。
    9、HDFS作为底层存储,HDFS是存放文件的系统,而Hbase负责组织文件。
    10、Hive需要用到hdfs存储文件,需要用到MapReduce计算框架。
    11、HDFS是分布文件存储文件,文件由自己组织。

    ZooKeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等 。
    Hive用于非实时的数据查询,HBase多用于数据只读不改的KV数据,MongoDB也是一样,存储日志类的数据,查询也快速。

    引用地址:
     

    我要评论