大数据离线批处理化解决方案--离线批处理

大数据离线批处理化解决方案

安平领域
大数据离线批处理化解决方案--离线批处理_第1张图片
• 离线处理平台主要用来进行数据处理和加工,将原始数据加工成明细数据。以及进行离线分析和碰撞分析产生分析结果数据,供上层应用调用。
• 安平领域需要监控的数据有很多,比如公安系统,社会系统,互联网系统,还有一些其它的比如运营商系统。
• 海量的数据作为数据源被存储起来,对于非实时的业务,可以进行离线批处理。
• 将处理后的结果作为各个业务部门的数据库数据。
• 碰撞处理,一种是open hashing,也称为拉链法

金融领域
大数据离线批处理化解决方案--离线批处理_第2张图片

• 离线分析平台主要进行数据处理和加工,将原始数据加工成明细数据。以及进行离线跑批作业产生结果数据,供上层应用调用。
• 对于金融领域来说,其数据源分三类,内部的结构化数据,非结构化数据,外部数据。
• 对收集的数据进行离线处理。
• 得到的业务型指标传到关系型数据库,或通过交互式查询进行展示。

离线批处理概念
• 离线批处理,是指对海量历史数据进处理和分析,生成结果数据,供下一步数据应用使用的过程。
• 离线批处理对数据处理的时延要求不高,但是处理的数据量较大,占用的计算存储资源较多,通常通过MR作业、Spark作业或者HQL作业实现。
• 简单来说,海量数据,在不要求快速响应的前提下(例如分钟级延迟,小时级延迟),通过提供带宽,内存,存储等资源,使用MR、SparkSQL、Hive等进行查询。

核心诉求
• 处理时间要求不高:可以分钟到小时级别的延迟。
• 处理的数据格式多样:格式化数据和非格式化数据都可以进行处理。
• 多个作业调度复杂:通常都是在集群中操作,面对复杂的作业调度,通常交给yarn去管理。
• 存储资源占用多:通常离线批处理占用的比较多的资源就是存储,因为数据收集到HDFS上,会占用存储空间。
• 作业形式:可以通过SQL命令例如Hive和SparkSQL,也可以通过API编写代码,打包提交运行。

离线批处理流程图
大数据离线批处理化解决方案--离线批处理_第3张图片

• 数据源:数据源的种类包括流式数据(Socket流,OGG日志流、日志文件),批量文件数据、数据库等。
• 批量采集系统:用于采集批量数据,可能的形式包括:
• Flume:用于批量采集数据文件日志文件。
• Sqoop:用于批量采集数据库数据。
• 第三方采集/ET工具:第三方数据采集、加载、处理工具。
• 离线批处理引擎:用于实现高性能的离线批处理作业运行。
离线批处理常用组件
• HDFS:分布式文件系统,为各种批处理引擎提供数据存储,可以存储各种文件格式数据。
• YARN:资源调度引擎,为各种批处理引擎提供资源调度能力。
• MapReduce:大数据批处理引擎,用于处理海量数据,但是处理速度较慢。
• Hive:大数据SQL批处理引擎,用于处理SQL类批处理作业,但是处理速度较慢。
• Spark:基于内存的数据处理引擎,适合海量数据,处理速度高效。
• Spark SQL:Spark处理结构化数据的一个模块。
• Hive:传统SQL批处理引擎,用于处理SQL类批处理作业,使用广泛海量数据下表现稳定,但是处理速度较慢;
• MapReduce:传统批处理引擎,用于处理非SQL类,尤其是数据挖掘和机器学习类批处理作业, 使用广泛,海量数据下表现稳定,但是处理速度较慢;
• Spark SQL:新型SQL批处理引擎,用于处理SQL类批处理作业,适合海量数据,处理速度高效;
• Spark:新型批处理引擎,用于处理非SQL类,尤其是数据挖掘和机器学习类批处理作业,适合海量数据,处理速度高效;
• Yarn:资源调度引擎,为各种批处理引擎提供资源调度能力,是多租户资源分配的基础;
• HDFS:分布式文件系统,为各种批处理引擎提供数据存储,可以存储各种文件格式数据;
• 批处理优先推荐Spark/SparkSQL,有存量应用时可以使用MapReduce/Hive,两种批处理模式可以同时使用
• 业务应用:查询并使用批处理结果的业务应用,由ISV开发。
• 因为MapReduce是Hive底层执行引擎,后面会讲Hive,不会讲MapReduce。
• 重点放在Hive、SparkSQL、HDFS上。

你可能感兴趣的:(大数据离线批处理化解决方案--离线批处理)