用户画像:用户画像表
================ 用户画像表 结构图================
用户画像表 ADM层
每天汇总出的用户画像表仅包含当天的数据,因此还需要和之前汇总好的用户画像表进行新的合并操作后,才算真正的最新数据的用户画像表
用户画像宽表 ADM层 adm.itcast_adm_personas(时间分区)
用户画像宽表 ADM层 = 用户基本属性表 GDM层 gdm.itcast_gdm_user_basic(时间分区)(第 1 张表)
+ 客户消费模型表 GDM层 gdm.itcast_gdm_user_consume_order(时间分区)(第 7 张表 = 2 + 3 + 4 + 5 + 6)
+ 客户喜好消费的商品分类模型表 GDM层 gdm.itcast_gdm_user_buy_category(时间分区)(第 12 张表 = 8 + 9 + 10 + 11)
+ 用户访问模型表 GDM层 gdm.itcast_gdm_user_visit(时间分区)(第 15 张表 = 13 + 14)
用户标签表
可根据 客户消费模型表 + 客户喜好消费的商品分类模型表 + 用户访问模型表 分析出 该人的购买喜好、购买习惯、购买实力,从而推荐相似的商品给该用户
================ 用户画像表 ================
用户画像 宽表:根据 用户基本属性表、客户消费订单表、客户购买类目表、用户访问信息表 生成 用户画像宽表
create database if not exists adm; //ADM 层(对 GDM 层指标数据 进行指标数据的业务汇总分析):高度聚合
create table if not exists adm.itcast_adm_personas(
user_id string ,--用户ID
user_name string ,--用户登陆名
user_sex string ,--用户性别
user_birthday string ,--用户生日
user_age bigint ,--用户年龄
constellation string ,--用户星座
province string ,--省份
city string ,--城市
city_level string ,--城市等级
hex_mail string ,--邮箱
op_mail string ,--邮箱运营商
hex_phone string ,--手机号
fore_phone string ,--手机前3位
op_phone string ,--手机运营商
add_time timestamp ,--注册时间
login_ip string ,--登陆ip地址
login_source string ,--登陆来源
request_user string ,--邀请人
total_mark bigint ,--会员积分
used_mark bigint ,--已使用积分
level_name string ,--会员等级名称
blacklist bigint ,--用户黑名单
is_married bigint ,--婚姻状况
education string ,--学历
monthly_money double ,--收入
profession string ,--职业
sex_model bigint ,--性别模型
is_pregnant_woman bigint ,--是否孕妇
is_have_children bigint ,--是否有小孩
children_sex_rate double ,--孩子性别概率
children_age_rate double ,--孩子年龄概率
is_have_car bigint ,--是否有车
potential_car_user_rate double ,--潜在汽车用户概率
phone_brand string ,--使用手机品牌
phone_brand_level string ,--使用手机品牌档次
phone_cnt bigint ,--使用多少种不同的手机
change_phone_rate bigint ,--更换手机频率
majia_flag string ,--马甲标志
majie_account_cnt bigint ,--马甲账号数量
loyal_model bigint ,--用户忠诚度
shopping_type_model bigint ,--用户购物类型
figure_model bigint ,--身材
stature_model bigint ,--身高
first_order_time timestamp, --第一次消费时间
last_order_time timestamp, --最近一次消费时间
first_order_ago bigint, --首单距今时间
last_order_ago bigint, --尾单距今时间
month1_hg_order_cnt bigint, --近30天购买次数(不含退拒)
month1_hg_order_amt double, --近30天购买金额(不含退拒)
month2_hg_order_cnt bigint, --近60天购买次数(不含退拒)
month2_hg_order_amt double, --近60天购买金额(不含退拒)
month3_hg_order_cnt bigint, --近90天购买次数(不含退拒)
month3_hg_order_amt double, --近90天购买金额(不含退拒)
month1_order_cnt bigint, --近30天购买次数(含退拒)
month1_order_amt double, --近30天购买金额(含退拒)
month2_order_cnt bigint, --近60天购买次数(含退拒)
month2_order_amt double, --近60天购买金额(含退拒)
month3_order_cnt bigint, --近90天购买次数(含退拒)
month3_order_amt double, --近90天购买金额(含退拒)
max_order_amt double, --最大消费金额
min_order_amt double, --最小消费金额
total_order_cnt bigint, --累计消费次数(不含退拒)
total_order_amt double, --累计消费金额(不含退拒)
user_avg_amt double, --客单价(含退拒)(每一个顾客平均购买商品的金额,客单价也即是平均交易金额)
month3_user_avg_amt double, --近90天的客单价
common_address string, --常用收货地址
common_paytype string, --常用支付方式
month1_cart_cnt bigint, --近30天购物车的次数
month1_cart_goods_cnt bigint, --近30天购物车商品件数
month1_cart_submit_cnt bigint, --近30天购物车提交商品件数
month1_cart_rate double, --近30天购物车成功率
month1_cart_cancle_cnt double, --近30天购物车放弃件数
return_cnt bigint, --退货商品数量
return_amt double, --退货商品金额
reject_cnt bigint, --拒收商品数量
reject_amt double, --拒收商品金额
last_return_time timestamp, --最近一次退货时间
school_order_cnt bigint, --学校下单总数
company_order_cnt bigint, --单位下单总数
home_order_cnt bigint, --家里下单总数
forenoon_order_cnt bigint, --上午下单总数
afternoon_order_cnt bigint, --下午下单总数
night_order_cnt bigint, --晚上下单总数
morning_order_cnt bigint, --凌晨下单总数
first_category_id BIGINT, --一级分类ID
first_category_name STRING, --一级分类名称
second_category_id BIGINT, --二分类ID
second_catery_name STRING, --二级分类名称
third_category_id BIGINT, --三级分类ID
third_category_name STRING, --三级分类名称
month1_category_cnt BIGINT, --近30天购物类目次数
month1_category_amt STRING, --近30天购物类目金额
month3_category_cnt BIGINT, --近90天购物类目次数
month3_category_amt STRING, --近90天购物类目金额
month6_category_cnt BIGINT, --近180天购物类目次数
month6_category_amt STRING, --近180天购物类目金额
total_category_cnt BIGINT, --累计购物类目次数
total_category_amt STRING, --累计购物类目金额
month1_cart_category_cnt BIGINT,--近30天购物车类目次数
month3_cart_category_cnt BIGINT,--近90天购物车类目次数
month6_cart_category_cnt BIGINT,--近180天购物车类目次数
total_cart_category_cnt BIGINT, --累计购物车类目次数
last_category_time TIMESTAMP, --近90天之内最后一次购买类目时间
last_category_ago BIGINT, --近90天之内最后一次购买类目距今天数
latest_pc_visit_date string, --近90天之内最近一次PC端访问日期
latest_app_visit_date string, --近90天之内最近一次APP端访问日期
latest_pc_visit_session string, --近90天之内最近一次PC端访问的session
latest_pc_cookies string, --近90天之内最近一次PC端访问的cookies
latest_pc_pv string, --近90天之内最近一次PC端访问的PV
latest_pc_browser_name string, --近90天之内最近一次PC端访问使用的游览器
latest_pc_visit_os string, --近90天之内最近一次PC端访问使用的操作系统
latest_app_name string, --近90天之内最近一次APP端访问app名称
latest_app_visit_os string, --近90天之内最近一次APP端访问使用的操作系统
latest_visit_ip string, --近90天之内最近一次访问IP(不分APP与PC)
latest_city string, --近90天之内最近一次访问城市(不分APP与PC)
latest_province string, --近90天之内最近一次访问省份(不分APP与PC)
first_pc_visit_date string, --近90天之内第一次PC端访问日期
first_app_visit_date string, --近90天之内第一次APP端访问日期
first_pc_visit_session string, --近90天之内第一次PC端访问的session
first_pc_cookies string, --近90天之内第一次PC端访问的cookies
first_pc_pv string, --近90天之内第一次PC端访问的PV
first_pc_browser_name string, --近90天之内第一次PC端访问使用的游览器
first_pc_visit_os string, --近90天之内第一次PC端访问使用的操作系统
first_app_name string, --近90天之内第一次APP端访问app名称
first_app_visit_os string, --近90天之内第一次APP端访问使用的操作系统
first_visit_ip string, --近90天之内第一次访问IP(不分APP与PC)
first_city string, --近90天之内第一次访问城市(不分APP与PC)
first_province string, --近90天之内第一次访问省份(不分APP与PC)
day7_app_cnt bigint, --近7天APP端访问次数
day15_app_cnt bigint, --近15天APP端访问次数
month1_app_cnt bigint, --近30天APP端访问次数
month2_app_cnt bigint, --近60天APP端访问次数
month3_app_cnt bigint, --近90天APP端访问次数
day7_pc_cnt bigint, --近7天PC端访问次数
day15_pc_cnt bigint, --近15天PC端访问次数
month1_pc_cnt bigint, --近30天PC端访问次数
month2_pc_cnt bigint, --近60天PC端访问次数
month3_pc_cnt bigint, --近90天PC端访问次数
month1_pc_days bigint, --近30天PC端访问天数
month1_pc_pv bigint, --近30天PC端访问PV
month1_pc_avg_pv bigint, --近30天PC端访问平均PV
month1_pc_diff_ip_cnt bigint, --近30天PC端访问不同ip数
month1_pc_diff_cookie_cnt bigint, --近30天PC端访问不同的cookie数
month1_pc_common_ip string, --近30天PC端访问最常用ip
month1_pc_common_cookie string, --近30天PC端访问最常用的cookie
month1_pc_common_browser_name string, --近30天PC端访问最常用游览器
month1_pc_common_os string, --近30天PC端访问最常用的操作系统
month1_hour025_cnt bigint, --近30天PC端0-5点访问次数
month1_hour627_cnt bigint, --近30天PC端6-7点访问次数
month1_hour829_cnt bigint, --近30天PC端8-9点访问次数
month1_hour10212_cnt bigint, --近30天PC端10-12点访问次数
month1_hour13214_cnt bigint, --近30天PC端13-14点访问次数
month1_hour15217_cnt bigint, --近30天PC端15-17点访问次数
month1_hour18219_cnt bigint, --近30天PC端18-19点访问次数
month1_hour20221_cnt bigint, --近30天PC端20-21点访问次数
month1_hour22223_cnt bigint --近30天PC端22-23点访问次数
); //第二版本:partitioned by (dt string);
-----加载数据:根据 用户基本属性表、客户消费订单表、客户购买类目表、用户访问信息表 生成 用户画像宽表
insert overwrite table adm.itcast_adm_personas //第二版本:insert overwrite table adm.itcast_adm_personas partition(dt=${partdt})
select
a.user_id,
a.user_name,
a.user_sex,
a.user_birthday,
a.user_age,
a.constellation,
a.province,
a.city,
a.city_level,
a.hex_mail,
a.op_mail,
a.hex_phone,
a.fore_phone,
a.op_phone,
a.add_time,
a.login_ip,
a.login_source,
a.request_user,
a.total_mark,
a.used_mark,
a.level_name,
a.blacklist,
a.is_married,
a.education,
a.monthly_money,
a.profession,
a.sex_model,
a.is_pregnant_woman,
a.is_have_children,
a.children_sex_rate,
a.children_age_rate,
a.is_have_car,
a.potential_car_user_rate,
a.phone_brand,
a.phone_brand_level,
a.phone_cnt,
a.change_phone_rate,
a.majia_flag,
a.majie_account_cnt,
a.loyal_model,
a.shopping_type_model,
a.figure_model,
a.stature_model,
b.first_order_time,
b.last_order_time,
b.first_order_ago,
b.last_order_ago,
b.month1_hg_order_cnt,
b.month1_hg_order_amt,
b.month2_hg_order_cnt,
b.month2_hg_order_amt,
b.month3_hg_order_cnt,
b.month3_hg_order_amt,
b.month1_order_cnt,
b.month1_order_amt,
b.month2_order_cnt,
b.month2_order_amt,
b.month3_order_cnt,
b.month3_order_amt,
b.max_order_amt,
b.min_order_amt,
b.total_order_cnt,
b.total_order_amt,
b.user_avg_amt,
b.month3_user_avg_amt,
b.common_address,
b.common_paytype,
b.month1_cart_cnt,
b.month1_cart_goods_cnt,
b.month1_cart_submit_cnt,
b.month1_cart_rate,
b.month1_cart_cancle_cnt,
b.return_cnt,
b.return_amt,
b.reject_cnt,
b.reject_amt,
b.last_return_time,
b.school_order_cnt,
b.company_order_cnt,
b.home_order_cnt,
b.forenoon_order_cnt,
b.afternoon_order_cnt,
b.night_order_cnt,
b.morning_order_cnt,
c.first_category_id,
c.first_category_name,
c.second_category_id,
c.second_catery_name,
c.third_category_id,
c.third_category_name,
c.month1_category_cnt,
c.month1_category_amt,
c.month3_category_cnt,
c.month3_category_amt,
c.month6_category_cnt,
c.month6_category_amt,
c.total_category_cnt,
c.total_category_amt,
c.month1_category_cnt,
c.month3_category_cnt,
c.month6_category_cnt,
c.total_category_cnt,
c.last_category_time,
c.last_category_ago,
d.latest_pc_visit_date,
d.latest_app_visit_date,
d.latest_pc_visit_session,
d.latest_pc_cookies,
d.latest_pc_pv,
d.latest_pc_browser_name,
d.latest_pc_visit_os,
d.latest_app_name,
d.latest_app_visit_os,
d.latest_visit_ip,
d.latest_city,
d.latest_province,
d.first_pc_visit_date,
d.first_app_visit_date,
d.first_pc_visit_session,
d.first_pc_cookies,
d.first_pc_pv,
d.first_pc_browser_name,
d.first_pc_visit_os,
d.first_app_name,
d.first_app_visit_os,
d.first_visit_ip,
d.first_city,
d.first_province,
d.day7_app_cnt,
d.day15_app_cnt,
d.month1_app_cnt,
d.month2_app_cnt,
d.month3_app_cnt,
d.day7_pc_cnt,
d.day15_pc_cnt,
d.month1_pc_cnt,
d.month2_pc_cnt,
d.month3_pc_cnt,
d.month1_pc_days,
d.month1_pc_pv,
d.month1_pc_avg_pv,
d.month1_pc_diff_ip_cnt,
d.month1_pc_diff_cookie_cnt,
d.month1_pc_common_ip,
d.month1_pc_common_cookie,
d.month1_pc_common_browser_name,
d.month1_pc_common_os,
d.month1_hour025_cnt,
d.month1_hour627_cnt,
d.month1_hour829_cnt,
d.month1_hour10212_cnt,
d.month1_hour13214_cnt,
d.month1_hour15217_cnt,
d.month1_hour18219_cnt,
d.month1_hour20221_cnt,
d.month1_hour22223_cnt
from gdm.itcast_gdm_user_basic a //用户基本属性表
left join gdm.itcast_gdm_user_consume_order b on a.user_id=b.user_id //客户消费订单表
left join gdm.itcast_gdm_user_buy_category c on a.user_id=c.user_id //客户购买类目表
left join gdm.itcast_gdm_user_visit d on a.user_id=d.user_id; //用户访问信息表
第二版本:
from gdm.itcast_gdm_user_basic a where dt=${partdt}
left join gdm.itcast_gdm_user_consume_order b where dt=${partdt} on a.user_id=b.user_id
left join gdm.itcast_gdm_user_buy_category c where dt=${partdt} on a.user_id=c.user_id
left join gdm.itcast_gdm_user_visit d where dt=${partdt} on a.user_id=d.user_id;
================== 每天的 用户画像表 进行汇总 ==================
beeline -u jdbc:hive2://node1:10000 -n root
1.每天用户画像表:
adm.itcast_adm_personas_日期时间 即为 adm.itcast_adm_personas_${partdt}
用户画像 用户画像表_あずにゃん的博客-CSDN博客
还没有评论,来说两句吧...