数据中台 第6章 数据开发: 批计算、流计算、在线查询和即席分析

本文详细介绍了大数据计算的四个主要类别:批处理、流计算、在线查询和即席分析,以及各自适用的场景和典型框架。批计算强调高吞吐量,常用MapReduce、Spark;流计算关注实时性,常使用Flink、SparkStreaming;在线查询服务于实时查询需求,如Redis、HBase;即席分析用于复杂分析,如Kylin、Impala。此外,还提及了算法开发在智能业务中的重要性,如金融风控、文本挖掘和个性化推荐等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        计算能力根据场景抽象分成四大类:批计算、流计算、在线查询和即席分析。 不同场景配合不同的存储和计算框架来实现,以满足业务的复杂需求,

 (1)批计算

        主要用于批量数据的高延时处理场景,如离线数仓的加工、大规模数据的清洗和挖掘等。目前大多是利用MapReduce、Hive、Spark等计算框架进行处理,其特点是数据吞吐量大、延时高,适合人机交互少的场景。

相比MapReduce,Spark在以下几方面具有优势:

数据处理技术:Spark将执行模型抽象为通用的有向无环图(DAG)执行计划,这可以将多个Stage串联或者并行执行,而无须将Stage的中间结果输出到HDFS中。

·数据格式和内存布局:Spark RDD能支持粗粒度写操作,而对于读操作,RDD可以精确到每条记录,这使得RDD可以用来作为分布式索引。

·执行策略:MapReduce在数据Shuffle之前花费了大量的时间来排序,Spark支持基于Hash的分布式聚合,调度中采用更为通用的任务执行DAG,每一轮的输出结果都可以缓存在内存中。

1、基于内存、消除了冗余的HDFS读写 、

        MapReduce在每次执行时都要从磁盘读取数据,计算完毕后都要把数据存放到磁盘上。而Spark是基于内存的。 
Hadoop每次shuffle(分区合并排序等……)操作后,必须写到磁盘,而Spark在shuffle后不一定落盘,可以cache到内存中,以便迭代时使用。如果操作复杂,很多的shufle操作,那么Hadoop的读写IO时间会大大增加。少磁盘IO操作

2、DAG优化操作、消除了冗余的MapReduce阶段、

Hadoop的shuffle操作一定连着完整的MapReduce操作,冗余繁琐。

而Spark基于RDD提供了丰富的算子操作,DAG调度等机制。它可以把整个执行过程做一个图,然后进行优化。

DAG引擎,shuffle过程中避免 不必要的sort操作、 且reduce操作产生shuffle数据,可以缓存在内存中。

3.JVM的优化、Task启动(线程池)

Spark Task的启动时间快。Spark 使用多线程池模型来减少task启动开稍、Spark采用fork线程的方式,Spark每次MapReduce操作是基于线程的。Spark的Executor是启动一次JVM,内存的Task操作是在线程池内线程复用的。

而Hadoop采用创建新的进程的方式,启动一个Task便会启动一次JVM。

每次启动JVM的时间可能就需要几秒甚至十几秒,那么当Task多了,这个时间Hadoop不知道比Spark慢了多少。

(2)流计算

        也叫实时流计算,对于数据的加工处理和应用有较强的实效性要求,常见于监控告警场景,例如实时分析网络事件,当有异常事件发生时能够及时介入处理。例如,阿里巴巴“双11”的可视化大屏上的数据展现是根据浏览、交易数据经过实时计算后展现在可视化大屏上的一种应用。这类场景目前应用较多的计算框架主要有Flink、Spark Streaming等

流计算的常见应用场景如下:

  1. ·流式ETL:集成流计算现有的诸多数据通道和SQL灵活的加工能力,对流式数据进行实时清洗、归并、结构化处理。同时,对离线数仓进行有效补充和优化,为数据的实时传输提供可计算通道。
  2. ·流式报表:实时采集、加工流式数据,实时监控和展现业务和客户的各类指标,让数据化运营实时化。
  3. ·监控预警:对系统和用户的行为进行实时检测和分析,实时监测和发现危险行为。
  4. ·在线系统:实时计算各类数据指标,并利用实时结果及时调整在线系统的相关策略,在内容投放、无线智能推送等领域有大量的应用。

(3)在线查询

        主要用于数据结果的在线查询、条件过滤和筛选等,如数据检索、条件过滤等。根据不同的场景也会有多种选择,如营销场景

  • 对响应延时要求高的,一般会采集缓存型的存储计算,如Redis等;
  • 对响应延时要求正常的,可以选择HBase和MySQL等;
  • 需要进行条件过滤、检索的,可以选择Elasticsearch等。

企业一般对在线查询的需求比较旺盛,因此可能会有多套在线计算的能力提供服务。

在线查询的常见应用场景如下:

  • ·画像服务:根据对象标识提供具体的查询服务,如通过Redis可以提供低延迟、高并发的查询服务能力;通过HBase可以提供大规模数据的查询服务能力,征信查询就是类似的服务。
  • ·搜索的应用场景:提供搜索引擎的能力,为用户提供模糊匹配、意图识别检索等能力,快速检索需要的内容,如常见的文档搜索、商品搜索等。
  • ·圈人场景:通过一些特定的条件规则,可以快速筛选出业务所需要的群体,为后续的运营、营销等工作的开展提供支撑

(4)即席分析

        主要用于分析型场景和经验统计。一般而言,企业80%的数据处理需求是在线查询和即席分析。针对不同维度的分析,有多种方式可以提供,提前固定计算的维度、根据需求任意维度的交叉分析(ad-hoc)等都是常见的场景。目前也有很多相应的产品、框架来支撑这方面的应用,如Kylin、Impala、ClickHouse、Hawk等。

即席分析的常见应用场景如下:

  • ·交互式数据分析:企业运营人员在日常工作中经常需要通过SQL从各个维度对当前业务进行析,提供分析结果以便开展后续工作。离线计算的场景等待时间较久,用户体验不好,即席分析可以比较好地规避这个问题。
  • ·群体对比分析场景:在业务中经常会有A/B测试场景,针对不同的群体,从各个维度对比分析也是即席分析经常支撑的场景

 6.4 算法开发、

        面对前台的智能业务需求,传统的数据加工和分析难以满足,作为数据开发的重要工具,算法开发需要满足复杂的学习预测类智能需求,输出算法模型能力,将数据洞察升级为学习预测,驱动业务创新。当数据开发和资产加工无法满足数据挖掘、算法标签生产等场景的需求时,算法开发可为离线开发和实时开发提供算法模型。加工好的数据和标签资产又能被算法开发用于模型训练和学习预测,支持智能需求研发。不同企业的算法应用场景也不一样,数据的差异性也决定了每个企业的算法效果会有很大差别,数据和特征决定了机器学习的上限

比较常见的应用场景如下:

  • ·金融风控和反欺诈:利用关联分析、标签传播、PageRank和社团发现等图算法组件,构建金融反欺诈核心能力,根据客户本身属性和行为数据识别虚假账号和欺诈行为,增强金融监管能力,保障金融业务稳定和安全。
  • ·文本挖掘分析:利用命名实体识别 [1]  、图挖掘等文本算法能力,通过分析非结构化的文本信息自动识别其中的实体以及它们之间的关系,构建关系网,可以深度分析以前未处理的一些线索。
  • ·广告精准营销:通过深入洞察客户需求、偏好和行为,利用特征分箱、LightGBM、PMI等算法组件构建的机器学习模型来智能挖掘潜在客户,实现可持续的精准营销计划和高质量曝光率,有效提升广告点击率。
  • ·个性化推荐:利用协同过滤、XGBoost等推荐场景组件,通过分析海量用户行为数据构建多维用户画像,实现千人千面的推荐,提高转化率。这些场景的落地通过算法开发工具可以大幅提升效率,当企业缺少算法工程师构建场景时,可以降低企业构建智能化场景的门槛,快速实现企业需求。
<think>我们正在讨论数据中台数据开发流程架构设计。根据引用[1][2],数据中台是一个集成的数据处理服务中心,它包含数据管理、数据流数据治理三个核心组件。数据中台的目标是整合多源数据,提供统一的数据服务,并确保数据质量与价值最大化。 数据中台的总体流程可以概括为以下几个步骤: 1. 数据收集与整合:从各种数据源(包括内部系统外部数据)采集数据,并进行初步的清洗整合。 2. 数据标准化:对数据进行标准化处理,包括统一数据格式、编码规则等,以消除数据差异。 3. 数据存储:将处理后的数据存储在统一的存储系统中,支持高效查询处理。 4. 数据分析:通过在线、离线或流式计算对数据进行分析,挖掘数据价值。 5. 数据服务:将分析结果以API、报表等形式提供给业务系统使用。 在架构设计上,数据中台通常采用分层架构,包括: - 数据源层:各种数据来源,如业务数据库、日志、第三方数据等。 - 数据采集层:负责数据的抽取传输,可以使用ETL工具或实时数据采集工具。 - 数据存储与计算层:包括数据仓库(如Hive)、数据湖(如HDFS)、实时计算引擎(如Flink)等。 - 数据治理层:负责数据质量管理、元数据管理、数据安全等。 - 数据服务层:提供统一的数据服务接口,供上层应用调用。 引用[3]提到,在DT时代,数据具有高维稀疏特征,业务快速迭代,因此数据中台需要解决传统数据处理方法难以应对的问题。因此,在架构设计上,数据中台需要具备以下特点: - 可扩展性:能够处理海量数据。 - 灵活性:支持多种数据处理模式(批处理、流处理)。 - 高效性:低延迟的数据处理能力。 - 易用性:支持多角色协作(数据工程师、数据分析师、业务人员等)。 数据处理流程的具体细节: 1. 数据采集:使用数据同步工具(如Sqoop、Flume、Kafka)将数据从源系统抽取到数据中台。 2. 数据预处理:进行数据清洗(去除重复、缺失值处理等)、转换(格式转换、字段计算等)加载(存储到目标位置)。 3. 数据建模:按照主题域进行数据建模,构建数据仓库的维度模型或数据湖的Schema-on-Read模式。 4. 数据计算:根据业务需求进行批处理(如使用Spark、MapReduce)或实时计算(如使用Flink、Storm)。 5. 数据服务化:将处理后的数据通过API网关、消息队列等方式提供给业务方。 此外,数据治理贯穿整个流程,包括数据质量监控、元数据管理、数据血缘追踪等,确保数据的可靠性可追溯性。 综上所述,数据中台数据开发流程是一个从数据采集到数据服务的闭环过程,架构设计上需要分层解耦,并具备可扩展、灵活、高效等特性。 §§相关问题§§ 1. 数据中台的数据治理具体包括哪些内容? 2. 数据中台如何支持实时数据处理? 3. 数据中台与传统数据仓库的区别是什么? 4. 在数据中台架构中,如何保证数据质量? 5. 数据中台的数据服务层通常提供哪些形式的服务?</think>### 数据中台开发流程与架构设计 #### **一、数据中台总体架构** 数据中台采用分层架构设计,核心包含以下模块(引用自[^1][^2]): 1. **数据源层** - 整合内外部多源数据(业务数据库、日志、IoT设备、第三方API等) 2. **数据采集层** - 通过ETL/ELT工具(如Apache NiFi, Flume)实现批流一体数据同步 3. **统一存储层** - 结构化数据:分布式数仓(Hive, ClickHouse) - 非结构化数据:数据湖(Delta Lake, Iceberg) - 实时数据:消息队列(Kafka, Pulsar) 4. **数据处理层** - 批处理引擎:Spark, MapReduce - 流处理引擎:Flink, Storm - 计算存储分离架构降低成本(引用[^2]) 5. **数据治理层** - 元数据管理(Apache Atlas) - 数据血缘追踪 - 质量规则引擎(如Griffin) 6. **数据服务层** - 统一API网关提供数据服务 - 支持即席查询、报表、机器学习模型服务化 #### **二、数据处理核心流程** ```mermaid graph LR A[数据源] --> B[采集标准化] B --> C[(统一存储层)] C --> D{处理引擎} D -->|批处理| E[离线指标计算] D -->|流处理| F[实时特征工程] E & F --> G[数据资产目录] G --> H[API服务/BI/AI模型] ``` 1. **数据采集与标准化(引用[^2])** - 解决多源异构问题:定义统一数据模型(IDM) - 数据编码规则标准化(如统一日期格式、币种单位) - 异常数据清洗规则配置 2. **存储与计算优化** - 分层存储:原始层 → 明细层 → 汇总层 → 应用层 - 计算优化:列式存储压缩 + 动态分区裁剪(降低70%存储成本) 3. **数据开发关键环节** - **离线开发**: - 调度系统(Airflow/DolphinScheduler)编排任务 - 示例SQL: ```sql CREATE TABLE user_behavior_agg AS SELECT user_id, COUNT(*) AS pv FROM ods_user_log WHERE dt='2023-08-01' GROUP BY user_id; ``` - **实时开发**: - Flink SQL实现窗口聚合 ```sql SELECT TUMBLE_START(event_time, INTERVAL '1' HOUR) AS window_start, COUNT(DISTINCT user_id) AS uv FROM kafka_stream GROUP BY TUMBLE(event_time, INTERVAL '1' HOUR) ``` 4. **数据治理贯穿全流程** - 质量监控:配置空值率、值域分布等校验规则 - 血缘分析:追踪表级/字段级数据来源与去向 - 敏感数据脱敏(如GDPR合规处理) 5. **服务化输出(引用[^1])** - 低代码API生成:通过配置生成RESTful接口 - 数据产品封装:用户画像标签体系、实时风控指标 #### **三、应对DT时代的挑战(引用[^3])** 1. **解决烟囱式开发**:建立统一开发平台,共享数据模型 2. **加速迭代**:容器化部署算法模型(Kubernetes + MLflow) 3. **高维数据处理**:采用特征工程平台自动生成特征组合 4. **多角色协作**: - 数据工程师:构建Pipeline - 分析师:SQL探索分析 - 算法工程师:模型在线服务 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四月天03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值