大数据技术应用的几个主要场景:离线处理、实时流处理、交互查询、实时检索和融合数据仓库
离线数据处理和分析:
一、离线处理场景:通常是指对海量数据进行分析和处理,形成结果数据,供下一步数据应用使用。离线处理对处理时间要求不高,但是所处理数据量较大,占用计算存储资源较多,通常通过MR或者Spark作业或者SQL作业来实现;
二、离线数据处理场景的特点:处理时间要求不高、处理数据量巨大、处理数据格式多样、多个作业调度复杂、占用计算存储资源多、支持SQL类作业和自定义作业、容易产生资源抢占等;
三、离线场景的大数据组件架构:
1、实时数据采集,用于实时采集流式数据:
a、Flume:用于Socket流或者日志文件等的数据采集;
b、第三方采集工具:第三方采集工具采集后,送入KAFKA +Spark Streaming进行数据预处理和实时加载;
c、ETL工具:第三方ETL工具进行数据采集、加载、处理等;
2、批量采集系统:用于采集批量数据,主要的组件有Flume、Sqoop、第三方采集工具(数据采集、加载、处理的工具);
3、离线批处理引擎:Mapreduce+Hive或者Spark+SparkSQL,Mapreduce和Spark来处理非SQL类作业,Hive和SparkSQL处理SQL类作业;推荐使用Spark+SparkSQL的组合,因为性能和兼容性更好;有存量应用时,可以使用MRS+Hive组合;