2023大数据技术应用的五个主要场景总结

大数据技术应用的几个主要场景:离线处理、实时流处理、交互查询、实时检索和融合数据仓库

离线数据处理和分析:

一、离线处理场景:通常是指对海量数据进行分析和处理,形成结果数据,供下一步数据应用使用。离线处理对处理时间要求不高,但是所处理数据量较大,占用计算存储资源较多,通常通过MR或者Spark作业或者SQL作业来实现;

二、离线数据处理场景的特点:处理时间要求不高、处理数据量巨大、处理数据格式多样、多个作业调度复杂、占用计算存储资源多、支持SQL类作业和自定义作业、容易产生资源抢占等;

三、离线场景的大数据组件架构:

1、实时数据采集,用于实时采集流式数据:

a、Flume:用于Socket流或者日志文件等的数据采集;

b、第三方采集工具:第三方采集工具采集后,送入KAFKA +Spark Streaming进行数据预处理和实时加载

c、ETL工具:第三方ETL工具进行数据采集、加载、处理等;

2、批量采集系统:用于采集批量数据,主要的组件有Flume、Sqoop、第三方采集工具(数据采集、加载、处理的工具);

3、离线批处理引擎:Mapreduce+Hive或者Spark+SparkSQLMapreduce和Spark来处理非SQL类作业,Hive和SparkSQL处理SQL类作业;推荐使用Spark+SparkSQL的组合,因为性能和兼容性更好;有存量应用时,可以使用MRS+Hive组合; SparkSQL和Hive之间的数据是拉通的,可以访问相同的一份数据库或者表

4、资源调度引擎:Yarn,基于Yarn来做多租户的隔离、资源的隔离和组件的隔离

5、分布式文件系统:HDFS;

交互查询场景:

一、交互查询场景:通常是指对数据进行交互式的分析和查询,查询响应要求较高,能够实现人机之间交互,查询通常比较复杂;交互查询的数据通常已经预处理过,按照适合交互查询的数据模型进行组织;交互查询数据量巨大,对CPU和内存要求很高,对于存储要求也很高。交互查询以复杂SQL查询最为常见,多维Cube分析也比较常见;

二、交互查询的特点:查询响应时间要求高,3s内处理数量量巨大,百TB级;SQL支持度要求高支持数据更新和插入;多种查询并发,容易抢占资源;支持第三方展现和报表工具;

三、交互查询的常用技术架构:

1、数据源:数据源的种类包括流式数据、批量文件数据和数据库等;

2、数据采集系统:用于实时或者批量采集数据,主要有Flume、第三方采集+Kafka+SparkStreaming、第三方ETL工具;

3、交互查询引擎,分布式交互查询引擎,用于实现高性能的交互式查询:

a、SparkSQL+Carbon:通过适合交互式OLAP查询的数据存储格式CarbonData和交互查询引擎SparkSQL的组合,实现交互式查询;适用于海量数据、高并发、多个租户共享查询引擎的场景;

b、Elk:基于MPPDB数据库引擎技术的SQL on HDFS交互式查询引擎,适用于中小量、多租户的共享查询场景;性能超过Impala(ORC)和SparkSQL(Parquet);Elk是没有使用YARN做资源调度的,有自己的资源调度引擎

c、SparkSQL和Elk两种方案二选一,不能共用

d、Impala:是Cloudera公司主导开发的一种,SQL on Hadoop技术,目前华为公司已经不提供这个组件了;

4、业务应用:使用SQL接口,查询并展示应用的业务程序,由ISV开发;

实时流处理场景:

一、简介:通常是指对实时数据源进行快速分析,迅速触发下一步动作的场景。实时数据对分析处理速度要求极高,数据处理规模巨大,对CPU和内存要求很高,但是数据通常不落地,对存储量要求不高。实时处理,通常通过Spark streaming或者Flink任务实现;

二、实时流处理的特点:处理时间要求极高,毫秒级;处理数量巨大,每秒数百兆;占用计算资源多,容易产生计算资源抢占;数据不落地、任务相对简单、数据量不大等;

三、实时流处理的整体架构:

1、数据源:主要包括业务数据库以及socket数据流和实时文件等;

2、实时数据采集:用于实时采集数据源产生的数据,并将其写入分布式消息系统,采集的数据格式包括文件、数据库、网络数据流等,比如Flume或者第三方工具;

3、消息中间件:消息中间件可对实时数据进行缓存,支持高吞吐量的消息订阅和发布,比如Kafka;

4、分布式流计算引擎:对于实时数据进行快速分析,比如SparkStreaming、Storm和Flink

5、数据缓存(可选):将流处理分析的结果进行缓存,满足流处理应用的访问需求,比如Redis、Kafka;

实时检索场景:

一、简介:通常是指数据实时写入,对海量数据基于索引主键实时查询,查询响应要求较高,查询条件相对比较简单。查询条件复杂的可以根据关键词在全域数据中通过索引搜索主键后,通过主键查询。全域数据既包含了结构化数据又包含了文本数据;

二、实时检索的典型特点:查询响应时间要求较高,1s内;高并发;处理数据量巨大,PB级;能够同时处理机构化和非结构化数据;全文检索功能;近实时检索;

三、实时检索架构:

1、数据源:数据源的种类包括文件数据txt、csv等和流式数据socket流等;

2、数据采集:Flume、第三方采集工具、ETL工具;

3、实时检索引擎,用于实现高性能的实时检索:

a、Hbase:用于主键查询(key-value)检索,查询条件简单,主要通过逐渐进行查询,非主键的检索也可以使用二级索引,二级索引数据量建议小于3个;

b、ElasticeSearch:用于全文检索或者当做Hbase存储的非主键索引,Hbase中非主键的又有检索诉求的字段数据,存储在ES中,用来做主键检索。Hbase的非主键检索条件多于3个时,不建议会用Hbase的二级索引,而是使用Elasticsearch用于索引;ES的索引是存储在本地盘上的

c、实时检索引擎ES+HBase适合快速检索,也就是根据指定条件查询结果,不适用于复杂查询

融合数仓场景:

一、融合数仓:是指用分布式数据仓库,完成数据的预处理、离线分析、主题查询等全流程的数据分析业务。融合数仓通常以SQL语言为基本数据操作手段,同时支持用户自定义的数据处理函数,既能够支持海量数据离线查询,又能支持在线交互查询融合数仓是一种跟Hadoop安全独立的数据分析工具,可以承担的业务也有很多重叠。相比Hadoop,融合数仓在成本、数据规模上限、复杂数据挖掘、实时流处理方面有劣势,在SQL支持度、数据库兼容性、性能方面有优势;

二、融合数仓场景特点:SQL支持度要去高;查询响应时间要求较高,3s内;支持数据更新和插入、支持事务;离线作业和在线查询并存,容易产生资源抢占;

三、融合数仓场景架构:

1、数据源:流式数据、文件数据、数据库、Hadoop等;

2、数据采集系统:实时或批量的数据采集,Flume、三方采集工具、ETL工具;

3、融合数仓:分布式融合数据仓库,用于实现高性能的离线处理和交互式查询,MPPDB

4、业务应用:查询并使用融合数仓的业务应用,由ISV开发;

你可能感兴趣的:(大数据,大数据)