基于MaxCompute构建企业用户画像(用户标签的制作)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 在数据化营销时代,数据的价值越发显得更为珍贵。那如何让自己的数据发挥价值,也就是说如何让公司沉睡的数据能够驱动业务发展给公司带来商业价值?在营销里面我们都谈精准营销,谈用户画像,那用户画像到底如何构建,用户的标签如何开发?本示例给与最简单的demo,那个大家清楚认识基于MaxCompute如何构建企业用户标签。

背景:

在数据化营销时代,数据的价值越发显得更为珍贵。那如何让自己的数据发挥价值,也就是说如何让公司沉睡的数据能够驱动业务发展给公司带来商业价值?在营销里面我们都谈精准营销,谈用户画像,那用户画像到底如何构建,用户的标签如何开发?本示例给与最简单的demo,那个大家清楚认识基于MaxCompute如何构建企业用户标签。

数据说明:

基站位置信息: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中。支持毫秒级针对万亿级数据进行即时的多维分析透视和业务探索。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
2月前
|
消息中间件 分布式计算 大数据
大数据-166 Apache Kylin Cube 流式构建 整体流程详细记录
大数据-166 Apache Kylin Cube 流式构建 整体流程详细记录
70 5
|
2月前
|
存储 SQL 分布式计算
大数据-162 Apache Kylin 全量增量Cube的构建 Segment 超详细记录 多图
大数据-162 Apache Kylin 全量增量Cube的构建 Segment 超详细记录 多图
62 3
|
1月前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
84 2
|
2月前
|
Java 大数据 数据库连接
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
32 2
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
|
2月前
|
SQL 分布式计算 大数据
大数据-160 Apache Kylin 构建Cube 按照日期构建Cube 详细记录
大数据-160 Apache Kylin 构建Cube 按照日期构建Cube 详细记录
44 2
|
2月前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
72 1
|
2月前
|
Oracle 大数据 数据挖掘
企业内训|大数据产品运营实战培训-某电信运营商大数据产品研发中心
本课程是TsingtaoAI专为某电信运营商的大数据产品研发中心的产品支撑组设计,旨在深入探讨大数据在电信运营商领域的应用与运营策略。通过密集的培训,从数据的本质与价值出发,系统解析大数据工具和技术的最新进展,深入剖析行业内外的实践案例。课程涵盖如何理解和评估数据、如何有效运用大数据技术、以及如何在不同业务场景中实现数据的价值转化。
55 0
|
2月前
|
SQL 存储 监控
大数据-161 Apache Kylin 构建Cube 按照日期、区域、产品、渠道 与 Cube 优化
大数据-161 Apache Kylin 构建Cube 按照日期、区域、产品、渠道 与 Cube 优化
57 0
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
23天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
182 7

相关产品

  • 云原生大数据计算服务 MaxCompute