大数据架构

文章讨论了一家广告平台的数据处理架构,基于Lambda架构,存在批处理和实时处理性能瓶颈,以及缺乏实时第三方数据接入。提出改进措施包括整合数据表和引入实时数据抓取脚本。
摘要由CSDN通过智能技术生成

某网广告平台展示的数据指标包含两类:曝光类(包括曝光数、点击数、点击单价、花费),转化类(包括转化下单数、转化下单金额、转化付款数、转化付款金额)。前一类的数据主要由流量方以接口的方式提供(比如对接的腾讯广点通平台),后一类则是某网特有的数据,通过买家的浏览、下单、付款日志算出来。

批处理层:将Kafka中的浏览、下单消息同步到HDFS中,再将HDFS中的日志数据解析成Hive表,最终将Hive表导出到MySQL。通过定时任务调用第三方API获取曝光和点击数,每天定时写入另一张MySQL表。

实时处理层:用Spark Streaming程序监听Kafka中的下单、付款消息,计算出每个追踪链接维度的转化数据,存储在redis中。

服务层:Java服务读取两张MySQL表和一个Redis库的数据。

【问题1】

该平台采用了典型的Lambda架构形式,架构图如图所示。图中,(1)(2)(3)分别是哪三层?

(1) 批处理层

(2) 服务层

(3) 流处理层(实时处理层)

【问题2】

典型的大数据架构,除了Lambda架构之外,还有kappa架构,这两个架构的区别如下标所示,请补充表中空(1)-(4)

对比内容Lambda架构Kappa架构
复杂度与开发、维护成本需要维护两套系统,复杂度高,开发、维护成本高(1) 只需要维护一套系统,复杂度低,开发、维护成本低
计算开销(2) 需要一直运行批处理和实时计算,计算开销大必要时进行全量计算,计算开销相对较小
实时性满足实时性(3) 满足实时性
历史数据处理能力(4) 批示全量处理,吞吐量大,历史数据处理能力强流式全量处理,吞吐量相对较低,历史数据处理能力相对较弱

【问题3】

该平台目前的架构存在两个问题:

第一,其数据处理层比较简单,性能的瓶颈在Java服务层。服务层需要关联两张MySQL表,查询过程很复杂。

第二,实时数据只对接了内部的kafka消息,没有实时的获取第三方的曝光、点击、浏览数据。

请问应该如何改进这两个问题?

1. 在数据层面只维护一张包含所有指标的MySQL表,表中的stday字段作为索引,stday=当天的保存实时数据,stday<当天的保存离线数据。

2. 在实时处理层做了一个常驻后台的python脚本,不断调用第三方API的小时报表,更新stday=当天的曝光类字段。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值