大数据-260 实时数仓 - 项目背景与需求 实时数仓架构 需求分析 技术选型 逻辑架构

embedded/2025/1/21 15:00:06/

点一下关注吧!!!非常感谢!!持续更新!!!

Java篇开始了!

  • MyBatis 更新完毕
  • 目前开始更新 Spring,一起深入浅出!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 数据挖掘(已更完)
  • Prometheus(已更完)
  • Grafana(已更完)
  • 离线数仓(已更完)
  • 实时数仓(正在更新…)

章节内容

  • Griffin架构 修改配置
  • pom.xml sparkProperties
  • 编译启动

在这里插入图片描述

项目背景

随着互联网的发展,数据的时效性对企业的精细化运营越来越重要,每天产生的海量数据中,如何能实时的挖掘出有价值的信息,对企业的决策运营策略调整有很大帮助。此外,随着 5G 技术的成熟、广泛应用,对于互联网、物联网数据的时效性要求非常高的企业,需要实时的数据体系来提高自身的行业竞争力。

随着数据时效性在企业运营中的重要性日益凸显,例如:

  • 实时推荐
  • 精准营销
  • 广告投放效果
  • 实时物流

数据实时处理能力成为企业提升竞争力的一大因素,最初阶段主要采用来一个需求,编写一个实时任务的方式来处理实时数据,随着需求的增多,计算任务也相对增多,并且不同任务的开发人员不同,导致开发风格差异化,该阶段的实时数据处理缺乏统一的规划,代码风格差异化严重,在维护成本和开发效率上有很大障碍。
为了避免上述的问题,人们参照数据仓库的概念和模型来重新规划和设计实时数据处理,在此基础上产生了实时数据仓库(实时数仓)。

数仓概念

在这里插入图片描述

离线数仓架构

在这里插入图片描述

实时数仓架构

在这里插入图片描述

收集层

  • Binlog(业务日志)、IoT(物联网)、后端服务日志(系统日志)
  • 经过日志收集团队和 DB 收集团队的处理,数据将会收集到 Kafka 中,这些数据不只是参与实时计算,也会参与离线计算。

存储层

  • Kafka:实时增量数据
  • HDFS:状态数据存储和全量数据存储(持久层)
  • HBase:维度数据存储

引擎层

实时处理框架

平台层

数据、任务和资源三个角度去管理 集群资源

应用层

底层架构的应用场景

流量相关

  • 流量数据的产生:不同通道的埋点和不同页面的埋点产生的数据
  • 采集:按照业务维度划分不同的业务通道
  • 应用:流的方式提供下游业务使用、流量方面的分析

在这里插入图片描述

实时效果验证

在这里插入图片描述

  • CPV(展示广告)又称富媒体广告,按展示付费,即按投放广告网站的被展示次数计费,网站被打开一次计费一次。
  • CPC 与 CTR:在现在的广告业 CPC 这个指标很难用来跟效果扯上关系,更多的时候是计费单位了。而 CTR 有的时候还是会作为效果的工具,大多用来衡量两次投放的不同投放策略、优化策略、创意的好坏。
  • Reach Rate:广告产生点击动作以后,后面的指标就是到达。点击后到达的比率是一个重要的指标,是否比较高的到达率是广告效果的重要体现。
  • Conversation Rate:广告后续的转换比率,从到达到转化的比率是用来评估广告效果的一种指标

需求分析

  • 日志数据:启动日志、点击日志、广告日志
  • 业务数据:用户下单、提交订单、支付、退款等核心交易数据的分析
  • 广告流量的实时统计:生成动态黑名单
  • 恶意刷单:一旦发现恶意刷单进行实时警告,基于动态黑名单进行行为过滤,计算每隔 5 分钟统计最近一小时内各广告的点击量,计算每天各省的热门广告,计算每天各广告最近 1 小时内的点击趋势
  • 点击来源:从不同的维护分析用户是从哪里来的
  • 渠道质量:针对用户进行以下几方面分析,访问时长、是否消费、首次消费的金额、收藏、访问页面数(PV)
  • 风险控制:当检测到交易异常时进行实时警告

技术选型

技术选型方案

框架选型:Apache、第三方发行版(CDH、HDP、Fusion Insight)。

Apache 社区版本的优点:

  • 完全开源免费
  • 社区活跃
  • 文档、资料详实

Apache 社区版本的缺点:

  • 复杂的版本管理
  • 复杂的集群安装
  • 复杂的集群运维
  • 复杂的生态环境

第三方发型版本(CDH、HDP、Fusion Insight)Hadoop 遵从 Apache 遵从Apache开源协议,用户可以免费的任意使用和修改 Hadoop。
正因如此,市面上很多厂家在 Apache Hadoop 的基础上开发自己的产品,如 Cloudera 的 CDH,Hortonworks 的 HDP,华为的 Fusion Insight等,这些产品的优点是:

  • 主要功能和社区一致
  • 版本管理清晰,比如 Cloudera、CDH1、CDH2、CDH3、CDH4 等,后面加上补丁版本
  • 比 Apache Hadoop 在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过大量的测试验证,有众多部署实例,大量的运用各种生产环境
  • 版本更新快,如 CDH 每个季度会有一个 update,每一年会有一个 release
  • 基于稳定的版本 Apache Hadoop,并应用了最新 BUG 修复
  • 提供了部署、安装、配置工具,大大提供了集群部署的效率,可以在几个小时内部署好集群

运行简单,提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确、使运行工作简单、有效

  • CDH:最成型的发型版本,拥有最多的部署案例,提供强大的部署、管理和监控工具,国内使用最多的版本,拥有强大的社区支持,当遇到问题时,能够通过社区、论坛等网络资源快速获取解决方法

  • HDP:100% 开源,可以进行二次开发,但没有 CDH 稳定,国内使用相对较少,Fusion Insight:华为基于 Hadoop 2.7版本开发的,坚持分层,解耦,开放的原则,得益于高可靠性,在全国各地政府、运营商、金融系统有较多案例。

软件选型方案

  • 数据采集:Flume、Canal
  • 数据存储:MySQL、Kafka、HBase、Redis
  • 数据计算:Flink
  • OLAP:ClickHouse、Druid 框架

在这里插入图片描述

逻辑架构

在这里插入图片描述

业务数据库表结构

在这里插入图片描述

业务数据库:

  • 交易订单表(trade_orders)
  • 订单产品表(order_product)
  • 产品信息表(product_info)
  • 产品分类表(product_category)
  • 商家店铺表(shops)
  • 商家地域组织表(shop_admin_org)
  • 支付方式表(payments)

http://www.ppmy.cn/embedded/155792.html

相关文章

网络编程套接字-上篇

目录 ⏳初始TCP和UDP 📝面经:TCP和UDP的区别 🧸UDP和TCP API的使用 Socket对象 客户端 vs 服务端 常⻅的客⼾端服务端模型 请求 vs 响应 UDP数据报套接字编程 API介绍 DatagramSocket DatagramPacket 👁‍🗨代码示例(…

第六章:PPP协议和HDLC协议配置与管理

目录 一、路由器概述 二、路由器的基本原理 1、路由器数据处理的过程: 2、度量值 3、影响路由度量值的因素 三、路由器基本配置 1、命令特点 2、常见命令模式 四、HDLC协议 五、PPP协议 六、PPP配置 1、任务 2、拓扑图 3、代码 4、测试 七、PAP认证配…

云计算与物联网技术的融合应用(在工业、农业、家居、医疗、环境、城市等整理较全)

摘要 为生产领域带来更加全面和深入的变革。通过云计算平台对物联网数据进行处理和分析,企业可以实现对生产过程的更加精细化的管理和控制。 1. 智能生产调度 通过云计算和物联网技术的融合应用,企业可以实现对生产线上各个环节的实时监控和数据分析。…

低代码系统-产品架构案例介绍(五)

接上篇,某搭介绍。 某搭以低代码为核心驱动,利用AI能力强势推动应用深度体验,打通钉钉对接,且集成外部系统。 可以看出,某搭在未来的规划上,着重在于AI 也就说明,低代码产品在未来的竞争上&…

C语言:位段

位段的内存分配: 1. 位段的成员可以是 int unsigned int signed int 或者是char (属于整形家族)类型 2. 位段的空间上是按照需要以4个字节( 类型 int )或者1个字节( char )的方式来开辟的。 3. 位段涉及…

数据结构——AVL树的实现

Hello,大家好,这一篇博客我们来讲解一下数据结构中的AVL树这一部分的内容,AVL树属于是数据结构的一部分,顾名思义,AVL树是一棵特殊的搜索二叉树,我们接下来要讲的这篇博客是建立在了解搜索二叉树这个知识点…

有了TiDB,是否还需要“散装”大数据组件?

有了TiDB,是否还需要“散装”大数据组件? 最近和同事们讨论一个问题:在大数据应用日益增多的今天,如果使用了TiDB这样的一体化数据库,还需要使用那些传统的大数据组件(比如Hadoop、Spark等)吗&…

Bash语言的数据库交互

Bash语言的数据库交互 引言 在现代软件开发中,数据库是存储和管理数据的核心组件。无论是小型应用还是大型企业系统,数据库都扮演着至关重要的角色。而在这些系统中,与数据库的交互方式至关重要。尽管多种编程语言和框架可以与数据库进行交…