大数据是近年来比较热门的概念,在整个大数据技术中又以hadoop生态圈较为常用。由于整个hadoop生态所涉及的服务比较多,很容易造成混乱。在此结合自己在工作中所接触到的知识作一篇简单随笔来记录一下,以供众多对大数据有兴趣的朋友了解。
HDFS:简单的说就是一个分布式文件系统,类似于FAT32,NTFS,是一种文件格式,是底层的。主要解决单机存储能力有限的问题。
HIVE:主要解决数据处理和计算问题,不支持更改数据的操作。
Hive是Hadoop数据仓库,严格来说,不是数据库,主要是让开发人员能够通过SQL来计算和处理HDFS上的结构化数据,适用于离线的批量数据计算。)
HBASE:Hadoop database 的简称,也就是基于Hadoop数据库,采用的是列式存储。
主要解决实时数据查询问题。是一种NoSQL数据库,适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等。
HIVE和HBASE两者的关系:Hive和Hbase一般情况下是配合使用的,因为他们某一个很难适用所有场景。
数据的一般处理流程:
1、通过ETL工具将数据源抽取到HDFS存储;
2、通过HIVE清洗、处理和计算原始数据;
3、HIVE清洗处理后的结果,如果是面向海量数据随机查询场景的可存入HBASE。若面向的是离线批量处理,则仍然放在hive中,如公司销售年度报表;
5、数据应用从HBASE或HIVE查询数据。