离线计算: 批量获取数据、批量传输数据、周期性批量计算数据、数据展示 代表技术:Sqoop 批量导入数据、HDFS 批量存储数据、MapReduce 批量计算数据、Hive 批量计算数据、*** 任务调度
实时计算,强调的是实时,数据实时计算、结果实时展示
流式计算:数据实时产生、数据实时传输、数据实时计算、实时展示 代表技术:Flume 实时获取数据、Kafka/metaq 实时数据存储、Storm/JStorm 实时数据计算、Redis 实时结果缓存、持久化存储 (mysql)。 一句话总结:将源源不断产生的数据实时收集并实时计算,尽可能快的得到计算结果,用来支持决策。
对于大数据的处理,一般分为几个步骤:
数据采集阶段:数据收集阶段是指通过各类日志、埋点、爬虫或手工整理的方式来对需要分析的数据进行收集
数据清洗阶段:数据收集阶段收集到的数据为原始数据,需要对其不合规的数据(空值或异常数据)进行剔除或处理
数据存储阶段:将清洗好的数据存储到HDFS系统中(可以通过Hive或Spark这类进行存储,其底层都为HDFS),以便进行分布式计算分析
数据分析阶段:通过MapReduce、Hive或Spark进行大数据的分布式计算分析,得出分析结果
数据结果持久化:由于每次数据分析需要花费的时间较长,所以需要将分析结果持久化至数据库中
数据可视化:将分析结果进行可视化展示
以下是基于Hadoop的经典的实时计算和离线计算分析的大致流程图和组件图: