腾讯营销数据平台.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《腾讯营销数据平台.pptx》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 腾讯 营销 数据 平台
- 资源描述:
-
1、腾讯广告数据系统关于我关于我11年加入腾讯关注分布式存储和计算系统现负责腾讯广告数据系统腾讯广告简介腾讯广告简介国内国内 流量最大流量最大(日均约(日均约500亿亿PV,百亿展现),百亿展现)场景最丰富场景最丰富(微信(微信, QQ, 视频视频, 新闻等几十种产品)新闻等几十种产品)覆盖人群最广泛覆盖人群最广泛(超过(超过10亿受众)亿受众)的互联网广告平台的互联网广告平台腾讯新闻、腾讯新闻、快报广告快报广告微信广告微信广告QQ广告广告腾讯视频广告腾讯视频广告联盟广告联盟广告应用宝广告应用宝广告国内移动国内移动咨海量优质APP月活跃用户5亿广告,也可以广告,也可以是生活的一部是生活的一部分分最
2、懂年轻人最懂年轻人的营销平台的营销平台国内移动视国内移动视频第一入口频第一入口用户覆盖率第用户覆盖率第一的安卓应用一的安卓应用商店商店询top入口入口广告系统架构用户画像API 投放端实验系统初选广告索引定向特征播放系统精选质量预估广告服务审核数据带来价值: 模型训练 策略机制收益管理 广告排序用户体验 流量规则PCTRPCVRLITECTRLITECVR投放系统业务库 报表和BI分析 DMP数据管理统计信息预算控制广告主一方数据DMPTDC数效果归因统计框架特征工程据系统出价调节数据安全请求 触发日志关联用户画像报表曝光 点击广告系统日志广告画像1. 数据分析2. 特征工程3. 数据安全1.
3、 数据分析2. 特征工程3. 数据安全数据分析任务的分类分类预先聚合计算在线实时计算OLAP优点查询速度快 灵活性高灵活性不够 查询时计算量大缺点DMPBI应用场景报表Pushmail统计特征预算控制出价调节多维透视分析SEAGULL基于spark的聚合计算平台(1)原始数据原始数据原始数据中间表原始数据Hive/pig统计结果SparkStorm mapreduce实时计算 离线计算streaming实时+准确统一配置统计结果统一配置统计结果统计结果 业务特点 实现方案 一份输入,多份输出 数据量大,每天100多T 实时性,准确性 统一数据流 配置化计算逻辑 一套代码解决按key的聚合问题S
4、EAGULL基于spark的聚合计算平台(2)日志切分1分钟聚合HDFS.计算入库.1小时聚合1天聚合.HDFS.N天回归HBase 优化: 准确: spark内存做cache,命中率96% 输入输出都是hdfs 先计算diff再写hbase,写入量减少93% 分钟级调度,时间维度上资源均匀消耗 目录结构做checkpoint 实时: 不采用spark window,避免输出任务batch之间 在spark中执行分钟级别的mapreduce 常驻进程,分层调度依赖,在集群抖动时快速恢复 利用hbase version,避免新数据被老数据覆盖调度优化(1) 推测执行,避免struggle 会有很
5、多的推测备份任务被杀掉调度优化(2) 优化思路 利用streaming周期任务的特点,动态评估每个executor 的吞吐量 能力强的节点分配大任务,能力弱的节点分配小任务 实现 a) RDD 及 NewHadoopRDD:获取每个task 对应的HDFS 文件的 大小并上报 b) 在每个batch 结束时,分析executor 处理任务的情况,动态更新到driver 端的记录里 c) 按照executor 的 吞吐量排序在任务列表里选择合适的任务Executor1(4MB/s)Task(32M)Task(32M)Executor1(8MB/s)Task1(128M)Task2(120M)12
6、34选择最适合executor 3执行的任务Executor2(1MB/s)Task(128M)Task(128M)Executor2(4MB/s)Task3(110M)Task4(96M)Executor3(2MB/s)Task5(80M)Task6(78M)Executor1(4MB/s)Task(128M)Task(32M) * 5 = 3Executor2(1MB/s)Task(32M)Task(128M)Executor4(1MB/s)Task7(75M)Task8(70M)调度优化(3) 性能提升 a) 推测任务减少 86.57%b) 计算延迟降低 20.96% c) 少用 1/1
7、0 资源预先聚合计算在线实时计算要解决的问题 - SQL举例 从万亿条数据中选择符合条件的数据,计算聚合结果 查询用户年龄性别的分布SELECT age, gender, COUNT(*) FROM log WHERE advertiser_id=123 group by age, gender; 查询不同曝光次数的用户的占比、点击率、消耗等SELECT exposure_num, COUNT(*) as user_num,SUM(sum_click) / SUM(exposure_num) as click_rate, SUM(sum_cost) AS total_costFROM(SELE
8、CT user_id, COUNT(*) AS exposure_num,SUM(click_count) AS sum_click, SUM(cost) AS sum_costFROM logGROUP BY user_id) temp_tableGROUP BY exposure_num;流程描述分组Groupby聚合Sum|Count|原始数据集过滤Where流程描述:结果 从万亿条数据中选择符合条件的数据,计算聚合结果 为了提高查询速度,就需要预先将数据整理成适合查询的格式两种数据模型1. 平铺结构:宽表,其中每个cell可以是term list,可以有正排,倒排2. 嵌套结构:pro
9、to buffer,正排存储类似于dremel/parquet,没法倒排Message pageview optional UserProfile user;repeated Position pos repeated Impression imps optional Advertisement ad;repeated Click clicks optional BillInfo bill;索引文件设计(1)索引数据结构:检索查询流程:全局信息列值字典倒排数据正排数据列值ID对应的文档ID列式存储的压缩数据每一列(Column)的值编码为列值(Term ) ID列表查询条 Where age=
10、20 and age=20 and age30GROUP BY gender;件命中列 找到age满足条件的列值ID值倒排拉 拉出列值对应的倒排拉链链集合运 根据逻辑对结果进行集合运算算索引文件设计(2) 倒排 正排 文档ID在文件内编码,减少值域范围 稀疏数据保存array,稠密数据保存bitmap 采用roaring bitmap进行自适配 实现高效的bitmap与array之间交并差的计算减少磁盘IO访问-列存储最大程度节省磁盘空间-编码压缩通过采样进行比较,自动确定最优编码方案对于不同 定长类型编码:定长数组编码、列值个数索引编码、定长列表编码、变长列表编码、run length en
11、cording的数据特String类型编码:单string长度索引编码、多string长度索引编码、单string列表编码、多string列表编码征,适用简单字典编码:适用列值重复较多的string类型于不同的 Huffman字典编码:列值分布不均匀情况下对简单字典编码的优化编码算法二进制String编码:较特殊的二进制数据类型嵌套结构列式存储格式dragon(1) Pivot需要支持直接查原始日志proto buffer格式 嵌套结构,无法建倒排 针对稀疏的proto buffer数据进行优化 谷歌 dremel vs 开源parquet vs 自研 dragon文件大小(单位:MB)写入时
12、间(单位:秒)数据读取耗时(单位:秒)80060040020007005004003002001000383864206.76.76.7Dragonparquetrecordio2892544.52662712111613.41531382.11.60.5读三列0.1请求日志 曝光日志请求日志曝光日志读一列读十列嵌套结构列式存储格式dragon(2) 存储:同列数据连续存储,压缩效率高 存储:不保存空节点的rlevel和dlevel 写:暂时为空的节点cache rlevel dlevel 写:Flush cache的时候只flush到下层节点 读:读取数据只需读取需要的列,节省磁盘IO 读:
13、热点hash map优化为查表 读:重复计算前置 读:自适应分级缓存,栈上小内存分配PIVOT-实时多维透视分析引擎元数据管理hbase新数据捡测索引构建数据拉取数据清理配置表版本表在线检索离线计算 任务管理路由表Tdbank检索节点检索节点检索节点聚合节点Sparkstreaming增量索引全量索引增量文件全量文件聚合节点聚合节点mapreduce 业务特点 建索引 列存储 万亿条数据 秒级响应 利用SSD进行检索,而不是内存 利用HADOOP集群构建索引遍历正排数据实现分组 Group by age, gender, city 如果直接排序: 每次比较age_gender_city,而前缀
14、基本一致,浪费计算量 Map太大,log(N)的插入操作也很耗时 按照列的顺序分层计算 先group by age,然后在每个age里面group by gender,以此类推 每次查找和插入都只操作一个很小的map基于倒排数据实现分组 基于正排数据,计算量跟命中的doc数量成正比 基于倒排的roaring bitmap,进行集合求交计算量有上限,在命中doc很多时会更快 仅适用于group分组数量比较小的情况,否则需要求交的次数太多倒排分层Group By集合求交1. 数据分析2. 特征工程3. 数据安全广告业务多模型优化用户 + Context百万级广告百级广告个级广告初选精选广告展示广告
展开阅读全文