• Hadoop生态系统


    hadoop生态系统如下图所示:

    HDFS:

    HDFS(Hadoop Distributed File System)是分布式文件系统,是针对谷歌开发的分布式文件系统GFS(Google File System)的开源实现,是Hadoop两大核心组成部分之一。

    HDFS有NameNodeDataNode两部分,NameNode是整个文件系统目录,基于内存存储,存储的是一些文件的详细信息,比如文件名、文件大小、创建时间、文件位置等,有且仅有一个;DataNode存储文件的数据信息,也就是文件本身,不过是分割后的小文件。

    HDFS是一种底层数据存储方式。Hive与Hbase的数据一般都存储在HDFS上,HDFS为他们提供高可靠性的底层存储支持。

    HBase:

    HBase是针对谷歌BigTable的开源实现,是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。需要注意的是,HBase可以使用本地文件系统而不用HDFS作为底层数据存储方式,不过为了提高数据可靠性和系统的健壮性,发挥HBase处理大数据量等功能,一般都使用HDFS作为HBase的底层数据存储方式

    HBase的运行建立在hadoop上,在hadoop生态系统中,HDFS为HBase提供了高可靠性的底层存储支持,MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS(关系型数据库)数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

    HBase是一个开源的Not-Only-SQL的数据库,像其他数据库一样提供随即读写功能。HDFS最适于执行批次分析,而不能满足实时需要,HBase能够处理大规模数据,它不适于批次分析,但它可以向Hadoop实时地调用数据。如果需要实时访问一些数据,就把它存入HBase。

    下面再以表格的形式对HDFS和HBase作一个比较:

  • 相关阅读:
    大搜车知乎live中的面试题结题方法记录
    git 学习笔记
    JavaScript 函数节流和函数去抖应用场景辨析
    要不要用gzip优化前端项目
    js和native交互方法浅析
    js设计模式之惰性单例模式
    阻止a标签的默认事件及延伸
    为什么会有OPTIONS请求
    浅析前端渲染与服务端渲染
    exports 和 module.exports 的区别
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/10222976.html
Copyright © 2020-2023  润新知