方案_技术方案|学习笔记

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 快速学习方案_技术方案

开发者学堂课程【2020版大数据实战项目之DMP广告系统(第四阶段)方案_技术方案】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/679/detail/11794


方案_技术方案


内容介绍:

一、回顾 DMP

二、技术方案

三、功能上使用的工具

四、从工程的角度看

五、真实开发的步骤


一、回顾 DMP

已经初步了解了 DMP ,在本小节开始之前,回顾一下 DMP 的主要作用。

DMP 的项目任务,第一个是收集数据,第二个是进行标签化,将和用户相关的数据标签化。简单来说,就是为用户打上对应的标签。但是对于业务系统,大数据的系统一般情况下还要进行策略的辅助,就是运营辅助。比如说大数据一整套框架,一些工具有什么作用,以往在做电商的公司当中,用大数据系统收集业务系统的数据,收集一些日志数据,收集一些 access log ,收集 access log 可以分析当前用户的行为,什么时候访问,哪个时间点访问的最多,收集到运营数据,收集到订单量,每日的同比增长,环比增长。可以把运营数字化,现在时代注重大数据相关内容。在 TNT 系统当中,明显需要策略上的数据辅助,并且自身所做的事情就是数据处理。整个技术方案应该是怎么样。


二、技术方案

image.png

首先明确三件事,第一件事就是库, DMP 系统要和 DSP进行交互,收集数据。第二件事,为用户打上标签。第三件事,为运营提供决策服务和数据化的服务。所以看三个灰色的端,第一个数据源,这是数据收集的部分。第二个,为运营提供策略辅助,叫做数据分析师。第三个,为 DSP 提供业务, DSP 通过 DSP 拿到对应的用户数据,这是三端。

三端的配合,首先数据员要经过 spark 做一次 ETL ,然后落地到库的 ODS 表里面,接下来 spark 读取 kudu 当中 ODS 表进行标签化处理,再放到 kudu 的某一张表当中,这张表有可能会同步给 elastic search , DSP 就可以通过 elastic search 进行相关数据检索服务,这时需要 elastic search 的原因也很简单,就是让访问更加的快速,所以首先收集数据,进行 ETL ,落地到 kudu,第四步 Spark 读取 kudu 中的 ODS 层表进行标签化。落地 kudu 放入 es 对外提供 API 访问,这就是路线一。还有其他路线。路线二的目标是对运营提供一些决策,这时候前三步是一样的,都是到 ODS 层的一个表。只是路线二当中读取 ODS的表是为了进行报表的生成和查询,落地到 kudu 当中,分析师就可以根据 kudu 等查询数据进行一系列的决策服务。这就是两条路线。从目的上来看,系统需要有两件事要去做。第一件事需要通过一些可视化的工具,以及在线的工具帮助探索数据,在做任何数据相关开发的时候,要先足够了解数据,通过一系列的查询,以及测试去确定功能该如何完成。


三、功能上使用的工具

image.jpeg

zeppelin 是笔记工具,这张图是标准产品的界面,可以去编写 C 语句,编写 sequel 语句,能够把数据查询出来以图表的形式展示展示出来对数据的构成和理解就会更加的深刻了,这一步称为数据探索探索性分析是现阶段比较常见的分析方式,就不先去写功能,先看一看数据集应该是怎么样的,这是我们在系统当中第一件要做的事。为 DSP 提供服务,让 DSP 通过标签化数据进行查询,就要提供 HTTP 改口的接口给 DSP  DSP 调用接口来获取对应的数据, DSP 对接了很多客户广告主,广告主DSP 发布需求, DSP 自身不具备数据,一方面要进行交互,还有一方面要进行竞价,这就是 RTB ,要和 RTB进行交互。竞价的过程当中,要去找 BMP 来去查询数据,中间这个接口怎么负责,就是 get 接口,比如说在 DNP当中提供 HTTP 服务, DSP 就可以调用某一个接口,向 DSP 提供数据服务,接下来去运营,让产品运营率越来越高,做一些调整,收集到更多的用户数据

image.jpeg

一般的电商网站,或者管理网站,都会有数据的后台,在这个数据后台当中,会有一个仪表盘。比如说当前的业务、当前的平均访问量、当前的负载、安全性或者最近的一些活动大概模式,接下来还有很多图标和数据的展示,这些展示是为了提供给分析师和决策层进行数据查看,假如公司做了 APP ,那么要看到 APP 每天新增的访客数, APP 每天的新增用户数, APP 哪一个区域今天新增了多少用户,要看到 APP 报错率是上升了还是下降等等,都可以通过后台,这就是要做的三件事。

第一件事数据探索,第二件事向 DSP 提供数据服务,第三件事要通过可视化内部正式运营的数据。


四、从工程的角度看

Dmp 类型: idea project  作用: dpm 项目的主工程,编写具体的代码

Dmp_report 类型: zepplelin notebook 作用: zepplilin的一个笔记,负责展示 dmp 进行数据探索和分析时所产生的报表

Dmp_analysis 类型: zepplelin notebook 作用: zepplelin 的一个笔记,负责进行 dmp 数据的探索,从中不断试探发展经验    

DMP 分为三个过程,第一个要有 DMP 的主工程, DMP 的主工程在于 idea 的 project 内是独立的 spark 程序,这个工程的所做的事情就是编写具体的代码来去处理和分析数据,为用户数据打上标签。接下来对数据进行探索,使用两个产品的笔记。第一个笔记进行数据的发现,从其中探索经验。辅助理解数据时产生报表,这就是工程的划分,当前精力主要还是放在第一个工程上。


五、真实开发的步骤

环境:测试 储存: kudu 测试

Dmp_analysis 先对数据进行探索,得出规律

Dmp_report 归纳数据特征和规律,通过报表展示

环境:生产 储存: kudu 生产

IDEA dmp project 对数据充分理解后,编写代码进行 etl 操作,并使用 oozie 等工具进行调度执行,处理过的数据落地到 kudu 表中

IDEA dmp project 生产中的数据已经经过清洗,此时可以编写代码进行标签库等一系列的数据分析和挖掘任务,并将结果落地到 elasticsearch 中,向 dsp 提供服务

IDEA dmp project 在运营过程中,会产生一些运营指标,可以针对运营指标进行数据分析和可视化,提供给产品部分追踪运营状况,此步骤可以通过 echats 等工具在后台系统中进行可视化,使用 sql 分析数据

大概有以下几个步骤。第一步,对数据进行探索,使用 SAP 动态执行的程序,动态执行 SQL 的代码工具探索数据,归纳出数据的特征和规律,该怎么进行优先生成,对数据建立在充分理解的前提下,直接编写 etl 使用visit 等调度工具进行调度执行。比如说写 EtL 程序,每天执行一次,再写一个 etl程序,这个数据集当中,把 IP 转成省市信息,可能需要一到五点,接下来数据已经经过清洗,也经过 etl ,然后装载到 ODS 表当中,那么要进行数据的一系列挖掘和分析的任务。数据挖掘分析,为数据打上标签。为数据集当中所代表的独立用户打上标签,接下来为 DSP 提供服务。第五步,在运营的过程当中,会不断的产生运营的指标。对这些运营的指标进行量化,辅助我们的决策。比如说做了功能的更新,要看到这个功能的更新会带来什么样的影响,这就是知识开发时候的步骤,但是整个的步骤可能是循环的,比如数据不是一次性的,而是不断升级的。

所以数据是源源不断的,要源源不断的对数据来进行探索,然后要对数据的特征来进行归纳,对数据进行调度执行,进行 etl 处理,还要不断去分析。现在 ops 的任务是这样的数据,来执行数据挖掘,数据分析的任务。也就是前四步都是持续运行的,需要借助一些工具,能够调动 spark 程序或者其他的计算程序进行相应的处理,最终运营的数据也是要不断的分析,不断的去收集。这就是技术方案。技术方案大致分为了几个不同的策略。

第一个策略整体上的流程应该是怎么样,对外提供的两个服务应该是怎么样。第二步,探索使用什么样的工具,如何向 DSP 提供服务,内部的可视化运营的数据应该怎么展示。第二步其实就是功能上应该使用什么样的工具。第三步,从工程的角度上来看,划分了哪些工程。第四步支持的情况下该如何进行开发,这个步骤应该是怎么样的。这就是对于整个项目技术方案上的介绍,大家一定要有一个清晰的思路。从不同的侧面来去看同一件事情,比如说介绍技术方案时,不仅要从业务上角度,要从流程、工具、架构、构成角度分析。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4月前
业务系统架构实践问题之定制点的大小怎么设计如何解决
业务系统架构实践问题之定制点的大小怎么设计如何解决
|
4月前
|
缓存 人工智能
通用研发提效问题之女娲的缓存方案,体现易用性的四重境界,如何解决
通用研发提效问题之女娲的缓存方案,体现易用性的四重境界,如何解决
|
移动开发 前端开发 JavaScript
做前端技术方案选型的时候,你是怎么做决策的?
做前端技术方案选型的时候,你是怎么做决策的?
158 0
|
SQL 消息中间件 存储
从理论到实践,实时湖仓功能架构设计与落地实战
实时湖仓是「实时计算」和「数据湖」的一种结合应用场景,并不是具体指一个产品模块。本文主要介绍了平台通过相关功能的设计,让数据开发可以更简单更直观地了解 Flink Catalog、数据湖、流批一体等概念,并在实际业务场景中更方便地去落地实践。
303 0
|
自然语言处理 JavaScript 前端开发
如何解决前端多语言选型和实现难题?
多语言(i18n)支持 是企业项目走向国际化的必经之路,也是前端工程师最佳实践的内容之一。不过,多语言框架众多,会带来一系列选型问题,相信大家在平时对项目进行多语言支持时,也往往会遇到如下几个问题:
1218 0
|
运维 负载均衡 Kubernetes
技术方案(开源方案)选型的考量和方法论
技术方案(开源方案)选型的考量和方法论
|
存储 数据可视化 架构师
「方案架构」“解决方案架构”日常思维
「方案架构」“解决方案架构”日常思维
|
存储 缓存 网络协议
从零开始搭建一个通用的业务技术架构,这套架构有点牛逼!
从零开始搭建一个通用的业务技术架构,这套架构有点牛逼!
|
存储 缓存 NoSQL
【分布式技术专题】「架构实践于案例分析」盘点高并发场景的技术设计方案和规划
【分布式技术专题】「架构实践于案例分析」盘点高并发场景的技术设计方案和规划
347 0
【分布式技术专题】「架构实践于案例分析」盘点高并发场景的技术设计方案和规划
|
SQL 消息中间件 缓存
【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系
【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系
201 0
【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系