Hadoop使用分布式文件HDFS系统,用于存储大数据(数据至少要到TB吧)。 在最初版本的Hadoop,使用MapReduce来做计算处理。使用yarn来做资源的调度。使用磁盘空间作为计算。因为MapReduce比较笨重,用同样是计算框架的spark来替代MapReduce。因为Spark只是计算框架,不具备Hadoop环境的HDFS系统等。所以业界都是采用Hadoop+Spark来做大数据计算。Spark即支持磁盘做数据处理,也支持内存来做数据处理。Spark支持Python,JAVA,Scala语言。
MapReduce、Spark都是计算框架。HDFS是为计算框架服务的存储层。因此不管是 Spark 还是 MapReduce,都需要使用 HDFS 作为默认的持久化存储层
使用HBase在HDFS上读取数据随机访问数据。HBase在Hadoop的文件系统(HDFS)之上,并提供了读写访问,它是Hadoop的生态系统,提供对数据的随机实时读/写访问。
在 Hbase 中,Row-key 加上 CF 加上 Qulifier 再加上一个时间戳才可以定位到一个单元格数据(Hbase 中每个单元格默认有 3 个时间戳的版本数据)