gitee地址:https://gitee.com/jenrey/project_1
1.项目背景:
互联网广告(本项目针对手机)的崛起得益于信息技术的发展和普及,智能的终端设备迅猛的发展。
互联网广告的优势:
1)受众多 6-7亿网民
2)可以跟踪用户的行为,进而可以做精准营销
2.dsp流程
如果用户是第一次进来,在DMP中没有信息,有默认的广告投放公司,比如可口可乐会去投(追求曝光率)
DSP主要是有两个属性,1就是广告,2就是DMP系统,里面有我们用户的信息(比如关注的物品的权重)
3.dmp系统
这是本次项目开发的部分。是用来支撑精准广告投放的。主要是用用户画像的,抽象出来一些词条
4.数据样式展示
0bb49045000057eee4ed3a580019ca06,0,0,0,100002,未知,26C7B9C83DB4B6197CEB80D53B3F5DA,1,1,0,0,2016-10-0106:19:17,139.227.161.115,com.apptreehot.horse,马上赚,AQ+KIQeBhehxf6xf98BFFnl+CV00p,A10%E55F%BC%E6%AO%B%,1,4.1.1,,760,980,,,上海市,上海市,4,3,Wifi,0,0,2,插屏,1,2,6,未知,1,0,0,0,0,0,0,0,,,,,,,,,,,,0,555,240,290,,,,,,,,,,,AQ+KIQeBhexf6x988FFnl+CVOOp,,1,0,0,0,0,0,,,mm_26632353_8068780_27326559,2016-10-01 06:19:17,,
说明:
数据一共88个字段
日志字段属性说明
序号 |
属性名称 |
描述 |
1 |
Sessionid:String |
会话标识 |
2 |
Advertisers:Int |
广告主id |
3 |
Adorderid:Int |
广告id |
4 |
Adcreativeid:Int |
广告创意id(>=200000:dsp) |
5 |
Adplatformproviderid:Int |
广告平台商id(>=100000:rtb) |
6 |
Sdkversion:String |
Sdk版本 |
7 |
Adplatformkey:String |
平台商key |
8 |
Putinmodeltype:Int |
根据广告主的投放模式,1:显示量投放,2:点击量投放 |
9 |
Requesmode:Int |
数据请求方式(1:请求,2:展示,3:点击) |
10 |
Adprice:Double |
广告价格 |
11 |
Adpprice:Double |
平台商价格 |
12 |
Requestdate:String |
请求时间格式为:yyyy-m-dd hh:mm:ss |
13 |
Ip:String |
设备用户的真实ip地址 |
14 |
Appid:String |
应用IP |
15 |
Appname:String |
应用名称 |
16 |
Uuid:String |
设备唯一标识 |
17 |
Device:String |
设备型号,如:htc,iphone |
18 |
Client:Int |
设备类型(如:1:Android,2:IOS,3:wp) |
19 |
Osversion:String |
设备操作系统版本 |
20 |
Density:String |
设备屏幕密度 |
21 |
Pw:Int |
设备屏幕宽度 |
22 |
Ph:Int |
设备屏幕高度 |
23 |
Long:string |
设备所在经度 |
24 |
Lat:String |
设备所在维度 |
25 |
Provincename:String |
设备所在省份名称 |
26 |
Cityname:String |
设备所在城市名称 |
27 |
Ispid:Int |
运营商id |
28 |
Ispname:String |
运营商名称 |
29 |
Networkmannerid:Int |
联网方式id |
30 |
Networkmannername:String |
联网方式名称 |
31 |
Iseffective:Int |
有效标识(有效指可以正常计费的)(0:无效,1:有效) |
32 |
Isbilling:Int |
是否收费(0:未收费,1:收费) |
33 |
Adspacestype:Int |
广告位类型(1:banner2:插屏3:全屏) |
34 |
Adspacetypename:String |
广告位类型名称(banner,插屏,全屏) |
35 |
Devicetype:Int |
设备类型(1:手机:2:平板) |
36 |
Processnode:Int |
流程节点(1:请求量ktp2:有效请求3:广告请求) |
37 |
Apptype:Int |
应用类型id |
38 |
District:String |
设备所在县的名称 |
39 |
Paymode:Int |
针对平台商的支付模式1:展示量投放(CMP)2:点击 |
40 |
Isbid:Int |
是否rtp |
41 |
Bidprice:Double |
Rtp竞价价格 |
42 |
Winprice:Double |
Rtp竞价成功价格 |
43 |
Iswin:Int |
是否竞价成功 |
44 |
Cur:String |
Values:umd|rmb等 |
45 |
Rate:Double |
汇率 |
46 |
Cnywinprice:Double |
Rtp竞价成功转换成人民币的价格 |
47 |
Imei:String |
imei |
48 |
Imac:string |
mac |
49 |
Idfa:String |
idfa |
50 |
Openudid:String |
Openudid |
51 |
Androidid:String |
Androidid |
52 |
Rtbprovice:String |
Rtb省 |
53 |
Rtbcity:String |
Rtb市 |
54 |
Rtbdistrict:String |
Rtb区 |
55 |
Rtbstreet:String |
Rtb街道 |
56 |
Storeurl:String |
App的市场下载地址 |
57 |
Realip:String |
真实ip |
58 |
Isqualityapp:Int |
优选标识 |
59 |
Bidfloor:Double |
低价 |
60 |
Aw:Int |
广告位的宽 |
61 |
Ah:Int |
广告位的高 |
62 |
Imeimd5:String |
Imei_md5 |
63 |
Macmd5:String |
Mac_md5 |
64 |
Idfamd5:String |
Idfa_md5 |
65 |
Openudidmd5:String |
Openudid_md5 |
66 |
Androididmd5:String |
Androidid_md5 |
67 |
Imeisha1:String |
Imei_sha1 |
68 |
Macsha1:String |
Mac_sha1 |
69 |
Idfasha1:String |
Idfa_sha1 |
70 |
Openudidsha1:String |
Openudid_sha1 |
71 |
Androididsha1:String |
Androidid_sha1 |
72 |
Uuidunknow:String |
Uuid_unknow tanx密文 |
73 |
Decuuidunknow:String |
解密的tanx明文 |
74 |
Userid:String |
平台用户id |
75 |
Reqdate:String |
日期 |
76 |
Reqhour:String |
小时 |
77 |
Iptype:Int |
表示ip类型 |
78 |
Initbidprice:Double |
初始出价 |
79 |
Adpayment:Double |
转换后的广告消费 |
80 |
Agentrate:Double |
代理商利润率 |
81 |
Lomarkrate:Double |
代理利润率 |
82 |
Adxrate:Double |
媒介利润率 |
83 |
Title:String |
标题 |
84 |
Keywords:String |
关键字 |
85 |
Tagid:String |
广告位标识(当视频流量时值为视频得ID号) |
86 |
Callbackdate:String |
回调时间,格式为YYYY/mm/dd hh:mm:ss |
87 |
Channeid:String |
频道ID |
88 |
Megratype:Int |
媒体类型1:长尾媒体2:视频媒体3:独立媒体,默认:1 |
指标 |
定义 |
参与竞价数 |
本日收到ADX发来的竞价请求并成功相应次数 |
竞价成功数 |
在本日内成功竞价的次数 |
竞价成功率 |
竞价成功率=竞价成功数/参与竞价数 |
展示量(曝光) |
广告在终端被显示的数量 |
点击量 |
广告展示后被终端用户点击的数量 |
点击率 |
点击率=点击量/展示量 |
ECPC |
ECPC=成本/点击量 |
ECPM |
ECPM=成本/展示量*1000 |
消费 |
收取广告主支付的用于广告投放的费用 |
成本 |
广告花费在渠道与媒体上的费用 |
毛利 |
毛利=消费-成本 |
5.技术选型
Spark2.3/Spark1.6.3
Hadoop2.6.x
Scala 2.11
SparkCore
SparkSQL
SparkGraphX
6.项目开发
配置maven环境pom.xml文件如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jenrey.dsp</groupId>
<artifactId>Mydmp</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven