zoukankan      html  css  js  c++  java
  • 项目总体分析

     不同的视频APP可能和不同公司的ADX有股份关系,甚至,有的视频APP做大了,可以用自己的ADX,那从app到ADX的数据可以直接对接,否则就要有合作,然后ADX对接广告投放引擎

     广告投放引擎(也就是媒体服务器)对接多个媒体的数据,

    (从广告投放引擎,怎么将数据Flume到hdfs,这个不清楚)

    这个要记住:面试可能会问

      dmp计算的源数据是由交易平台对接了多个媒体的数据,而且是提前对接的数据进行计算的,并把最终聚合标签结果存储到es中,rtb是实时去dmp存储的结果中拿取对应的标签

    该广告投放项目是针对于广告主一端的分析,分析的有两个方面:

    1、广告主投放过程中,用户群体(受众群体)的一些分析

    2、分析DSP投放的过程中的各种具体投放效果或者说是力度,比如广告的曝光程度(不管用户看没看,都相当于广告进行了展示),比如用户的区域统计等

     

    该广告投放项目分析的数据源(指的是标签等数据):

    广告主需要从DSP对接需要的数据进行分析,这些数据是DSP事先生成好的半结构化数据,广告主需要对接DSP提供的接口来获取对应的信息。

     

    渠道和通道:

    渠道:一个媒体对应一个渠道

    通道:每个媒体不同的模块,每个模块称作通道 (一个渠道可以生成多个通道,比如携程首页点击酒店媒体里面包括国内,国外,还有名宿等)

     

    互金:互联网金融

     

    注意,维表的信息在mysql做了更新操作后,一定要及时更新到hive中

    怎么更新,如果更新的频率不是很高,可以手动及时更新,反之,可以设置定时任务

     

     

    说项目的时候:

      我们携程可作为广告主,就是将广告信息推送到其它平台上,比如百度或者搜狗等的DSP上,做一些用户群体(受众群体的分析)和DSP投放过程中具体的投放力度(比如广告曝光率,或用户的区域统计等);我们也可以作为DSP方(也就是媒体服务器),对接大量广告主,而且我们拥有自己的RTB和DMP,同时我们携程会接收第三方平台信息进行DMP信息标签的扩展。

    项目业务流程

      

     日志数据获取的是用户点击行为操作,订单的金额,商品的金额,这些从日志数据无法获取,需要从业务数据进行获取

    数据源分析

    1 数据库命名
        数据命名规则:数仓层_业务方式 如 ods_release/sda_release
    2 数仓各层对应数据库
     ods/sda层 -> sda/ods_业务(原始数据)
     dw层 -> dw_业务 (主题库)
     dim层 -> dim_维度 (维表库)
     dm层 -> dm_业务(集市库)
     middle层 -> mid_业务(中间库)
     临时数据 -> temp(临时库)
    3 表命名
        (3-1) 数据库表命名规则:
                原始层表:数仓层_来源类型_业务 如 ods_01_xxx
                其他表:数仓层_业务 如 dw_xxx
               
                如果业务名称较长可以简写 如 ods_01_xxx_xx_xx ods_01_xx
        (3-2) 数据来源代码(sda层)
            01 -> hdfs数据
            02 -> mysql数据
            03 -> redis数据
            04 -> mongodb数据
            05 -> tidb数据

        ods_release.ods_01_release 投放数据
        ods_release.ods_02_user 注册用户表(业务表:存于MYSQL)
        dw_release.dw_customer 目标客户主题表
        dm_release.dm_customer_stat 目标客户统计表
     
    物料信息平台由广告交易平台商生成
    业务数据是输入到mysql里的数据
     

    ODS层库表

    广告投放原始数据
    创建原始数据
    create external table if not exists ods_release.ods_01_release_session(
      sid string comment '投放请求id',
      release_session string comment '投放会话id',
      release_status string comment '参考下面投放流程状态说明',
      device_num string comment '设备唯一编码',
      device_type string comment '1 android| 2 ios | 9 其他',
      sources string comment '渠道',
      channels string comment '通道',
      exts string comment '扩展信息(参见下面扩展信息描述)',
      ct bigint comment '创建时间'
    ) partitioned by (bdp_day string)
    stored as parquet
    location '/data/release/ods/release_session/'
    -- 可以通过show partitions 来查看这张表的分区
     
    load data inpath '/advertising' into table ods_release.ods_01_release_session
     
     
    创建维度表dw
      维度表没有分区,只能用新维表全量覆盖旧表
      dw_release.dw_release_customer(目标客户主题)
      dw_release.dw_release_exposure(曝光主题)  和目标客户主题建表区别就是release_status = '01'值为02
      dw_release.dw_release_register_users(注册主题)
      dw_release.dw_release_click(点击主题)
  • 相关阅读:
    LeetCode 1109 航班预定统计
    leetcode 138 复制带随机指针的链表
    maven导入org.apache.pdfbox
    Intellij Idea 通过svn或者git提交代码时速度慢的解决办法
    java LocalDateTime 加减当前时间
    git命令--拉取代码和切换分支
    Intellij IDEA插件Free Mybatis plugin
    MySQL 生成随机字符串 uuid
    最新版Navicat Premium v15.0.26 中文破解
    算法——二分法查找
  • 原文地址:https://www.cnblogs.com/zqfdgzrc/p/13127546.html
Copyright © 2011-2022 走看看