基于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
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
23天前
|
存储 大数据 数据处理
PHP 与大数据:构建高效数据处理系统
传统的数据处理系统往往难以应对大规模数据的处理需求,而PHP作为一种常用的服务器端脚本语言,在数据处理方面也有其独特的优势。本文将探讨如何利用PHP构建高效的大数据处理系统,结合实际案例分析其应用场景及优势所在。
15 2
|
4月前
|
SQL Oracle 物联网
助力工业物联网,工业大数据之数仓维度层DWS层构建【十二】
助力工业物联网,工业大数据之数仓维度层DWS层构建【十二】
47 0
|
4月前
|
SQL Oracle 关系型数据库
助力工业物联网,工业大数据之ODS层构建:代码结构及修改【九】
助力工业物联网,工业大数据之ODS层构建:代码结构及修改【九】
47 0
|
12天前
|
运维 供应链 大数据
数据之势丨从“看数”到“用数”,百年制造企业用大数据实现“降本增效”
目前,松下中国旗下的64家法人公司已经有21家加入了新的IT架构中,为松下集团在中国及东北亚地区节约了超过30%的总成本,减少了近50%的交付时间,同时,大幅降低了系统的故障率。
|
14天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
54 1
|
1月前
|
SQL 存储 监控
构建端到端的开源现代数据平台
构建端到端的开源现代数据平台
54 4
|
1月前
|
人工智能 DataWorks 数据可视化
心动基于阿里云DataWorks构建游戏行业通用大数据模型
心动游戏在阿里云上构建云原生大数据平台,基于DataWorks构建行业通用大数据模型,如玩家、产品、SDK、事件、发行等,满足各种不同的分析型应用的要求,如AI场景、风控场景、数据分析场景等。
334 1
|
2月前
|
存储 数据可视化 JavaScript
基于Echarts构建大数据招聘岗位数据可视化大屏
基于Echarts构建大数据招聘岗位数据可视化大屏
54 0
|
4月前
|
SQL 存储 分布式计算
助力工业物联网,工业大数据之数仓事实层DWB层构建【十七】
助力工业物联网,工业大数据之数仓事实层DWB层构建【十七】
38 0
助力工业物联网,工业大数据之数仓事实层DWB层构建【十七】
|
4月前
|
数据采集 SQL Oracle
助力工业物联网,工业大数据之DWD层构建:数据抽取分析【十一】
助力工业物联网,工业大数据之DWD层构建:数据抽取分析【十一】
49 0

相关产品

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