基于MaxCompute构建企业用户画像
基于MaxCompute构建企业用户画像(用户标签的制作)
日志
string
数据同步
Create
MaxCompute
用户标签
摘要: 在数据化营销时代,数据的价值越发显得更为珍贵。那如何让自己的数据发挥价值,也就是说如何让公司沉睡的数据能够驱动业务发展给公司带来商业价值?在营销里面我们都谈精准营销,谈用户画像,那用户画像到底如何构建,用户的标签如何开发?本示例给与最简单的demo,那个大家清楚认识基于MaxCompute如何构建企业用户标签。
背景:
在数据化营销时代,数据的价值越发显得更为珍贵。那如何让自己的数据发挥价值,也就是说如何让公司沉睡的数据能够驱动业务发展给公司带来商业价值?在营销里面我们都谈精准营销,谈用户画像,那用户画像到底如何构建,用户的标签如何开发?本示例给与最简单的demo,那个大家清楚认识基于MaxCompute如何构建企业用户标签。
数据说明:
8f94082e-45f3-4b9e-8144-7d3b5726e0e7.png
基站位置信息:s_user_cell_log
CREATE TABLE s_user_cell_log (
user_id bigint COMMENT '用户id', cell string COMMENT '基站id', phone_type string COMMENT '接入设备类型', latitude double COMMENT '维度', longitude double COMMENT '经度', log_time datetime COMMENT '日志时间', app_type bigint COMMENT 'app类型'
)
COMMENT '基站位置信息'
PARTITIONED BY (
ds string
)
LIFECYCLE 90;
设备位置信息:s_user_device_log
CREATE TABLE s_user_device_log (
user_id bigint COMMENT '用户id', imei string COMMENT 'imei', latitude double COMMENT '维度', longitude double COMMENT '经度', log_time datetime COMMENT '日志时间', app_type bigint COMMENT 'app类型'
)
COMMENT '设备位置信息'
PARTITIONED BY (
ds string
)
LIFECYCLE 90;
网页日志信息:s_user_web_log
CREATE TABLE s_user_web_log (
user_id bigint COMMENT '用户id', cookie string COMMENT 'cookieid', ip string COMMENT 'ip', url string COMMENT 'url', log_time datetime COMMENT '日志时间', app_name string COMMENT 'app类型'
)
COMMENT '网页日志信息'
PARTITIONED BY (
ds string
)
LIFECYCLE 90;
计算逻辑:
通过基站信息、手机设备位置信息以及网页日志信息,通过一定的计算逻辑来推演用户地址的基础信息:dwd_log_addr_d
CREATE TABLE dwd_log_addr_d (
user_id bigint COMMENT '用户id', prov_id bigint COMMENT '省份id', city_id bigint COMMENT '城市id', dist_id bigint COMMENT '区域id', bizdate string COMMENT '日期'
)
COMMENT '用户地址基础表'
PARTITIONED BY (
ds string
)
LIFECYCLE 90;
dwd_log_addr_d表的ODPS SQL处理逻辑如下:
其中ip2region和lbs2region两个函数都需要用户自己来编写UDF来实现。
insert overwrite table dwd_log_addr_d partition (ds='${bdp.system.bizdate}')
select
user_id
,prov_id
,city_id
,dist_id
from (select
user_id ,ip2region(ip,'province') as prov_id ,ip2region(ip,'city') as city_id ,ip2region(ip,'district') as dist_id from s_user_web_log --用户访问网页日志信息 where ds='${bdp.system.bizdate}' union all select user_id ,lbs2region(latitude,longitude,'province') as prov_id ,lbs2region(latitude,longitude,'city') as city_id ,lbs2region(latitude,longitude,'district') as dist_id from s_user_cell_log --基站信息 where ds='${bdp.system.bizdate}' union all select user_id ,lbs2region(latitude,longitude,'province') as prov_id ,lbs2region(latitude,longitude,,'city') as city_id ,lbs2region(latitude,longitude,,'district') as dist_id from s_user_device_log --用户手机位置信息 where ds='${bdp.system.bizdate}' ) a
group by user_id
,prov_id
,city_id
,dist_id ;
根据ODPS SQL(近90天内出现最多的位置来断定常驻地信息)来计算常驻地信息表dm_tag_addr_city
insert overwrite table dm_tag_addr_city partition (ds='${bdp.system.bizdate}')
select
user_id,
city_id as addr_city
from ( select
user_id, city_id, ROW_NUMBER(partition by user_id order by date_cnt desc ) as rn from ( select user_id, city_id, count(distinct dt) as date_cnt from dwd_log_addr_d where ds<='${bdp.system.bizdate}' and ds>'${bizdate_90}' ) t0 ) t1
where t1.rn=1;
--调度参数说明
bizdate_90=${yyyymmdd-90}
最终我们的开发好的标签要被业务系统所使用,通常情况下我们会同步至业务数据库如RDS,但在大数据时代,随着数据标签的海量增长,往往在标签的查询效率上要求更过,在本实例中,我们将用户标签数据同步至分析型数据库AnalyticDB中。支持毫秒级针对万亿级数据进行即时的多维分析透视和业务探索。
90ecf9a0-ce4a-4fd4-98cf-24bb70dfd764.png
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云英国大区开服,大数据计算产品首期上线
日前,在刚刚结束的2018杭州云栖大会上,阿里云大数据计算服务MaxCompute受到极大关注。负责人关涛表示,计算力,联合计算,智能化,企业级服务能力是阿里巴巴计算平台的显著优势所在。 2018年9月28日,MaxCompute作为首批上线产品,随同阿里云英国数据中心正式开服。这是阿里云继去年10月将大数据计算服务输出到欧洲中部法兰克福后,持续的将大数据能力向欧洲西部输出。据悉,通过MaxCompute全新一代的人工智能系统,阿里云将携手更多欧洲本地合作伙伴建立科技生态,驱动当地云计算和大数据的发展,在人工智能、深度学习等领域实现突破创新。 MaxCompute是阿里巴巴9年前做飞天系统的三大件之一,9年后的今天MaxCompute已经可以承载EB级的数据存储能力,百PB级的单日计算能力,在公共云上以及覆盖了国内外的十几个国家和地区
- 下一篇
开箱即用的安全方案:MaxCompute数据安全方案介绍
MaxCompute 是一个支持多租户的统一大数据处理平台,不同的用户对数据安全需求不尽相同。为了满足不同租户对数据安全的灵活需求,MaxCompute 支持项目空间级别的安全配置,ProjectOwner 可以定制适合自己的外部账号支持和鉴权模型并且在某种程度上保障Project的数据安全。 通常情况下,常见的开发模式为__MaxCompute+DataWorks__方式,针对这种场景下数据安全方案如下: 一、禁止数据下载到本地 禁止数据流出或下载本地 方式①:数据保护机制也被称之为开启项目空间数据保护,可以通过MaxCompute console 开启服务端禁止数据流出: set projectProtection=true --设置ProjectProtection规则:数据只能流入,不能流出。 --默认时,ProjectProte
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作