SparkSQL电商用户画像(八)之用户画像开发(客户购买类目表)
--用户画像 客户购买类目表 create database if not exists gdm; create external table if not exists gdm.itcast_gdm_user_buy_category( user_id bigint , --客户ID first_cat bigint , --一级分类ID first_cat_name string , --一级分类名称 second_cat bigint , --二分类ID second_cat_name string , --二级分类名称 third_cat bigint , --三级分类ID third_cat_name string , --三级分类名称 month1_cat_cnt bigint , --近30天购物类目次数 month1_cat_amt string , --近30天购物类目金额 month3_cat_cnt bigint , --近90天购物类目次数 month3_cat_amt string , --近90天购物类目金额 month6_cat_cnt bigint , --近180天购物类目次数 month6_cat_amt string , --近180天购物类目金额 total_cat_cnt bigint ,--累计购物类目次数 total_cat_amt string , --累计购物类目次数 month1_cart_cat_cnt bigint , --近30天购物车类目次数 month3_cart_cat_cnt bigint , --近90天购物车类目次数 month6_cart_cat_cnt bigint , --近180天购物车类目次数 total_cart_cat_cnt bigint , --累计购物车类目次数 last_cat_time timestamp , --最后一次购买类目时间 last_cat_ago bigint , --最后一次购买类目距今天数 dw_date timestamp )partitioned by (dt string);--计算订单中客户购买情况 drop table if exists gdm.itcast_gdm_user_buy_category_temp; CREATE TABLE gdm.itcast_gdm_user_buy_category_temp AS SELECT a.user_id, "" first_category_id, "" first_category_name, "" second_category_id, "" second_catery_name, b.third_cart third_category_id, b.third_cat_name third_category_name, SUM( CASE WHEN a.dat_30 = 1 THEN b.goods_amount END ) month1_category_cnt, SUM( CASE WHEN a.dat_30 = 1 THEN COALESCE(b.curr_price,0)* COALESCE(b.goods_amount,0) END ) month1_category_amt, SUM( CASE WHEN a.dat_90 = 1 THEN b.goods_amount END ) month3_category_cnt, SUM( CASE WHEN a.dat_90 = 1 THEN COALESCE(b.curr_price, 0)* COALESCE(b.goods_amount, 0) END ) month3_category_amt, SUM( CASE WHEN a.dat_180 = 1 THEN b.goods_amount END ) month6_category_cnt, SUM( CASE WHEN a.dat_180 = 1 THEN COALESCE(b.curr_price, 0) * COALESCE(b.goods_amount, 0) END ) month6_category_amt, SUM(b.goods_amount) total_category_cnt, SUM( COALESCE(b.curr_price, 0) * COALESCE(b.goods_amount, 0) ) total_category_amt, MAX(a.order_date) last_category_time, DATEDIFF(MIN(a.order_date), "2017-01-01") last_category_ago, FROM_UNIXTIME(UNIX_TIMESTAMP()) dw_date FROM (SELECT a.*, ( CASE WHEN order_date >= DATE_SUB("2017-01-01", 29) AND order_date <= "2017-01-01" THEN 1 END ) dat_30, ( CASE WHEN order_date >= DATE_SUB("2017-01-01", 89) AND order_date <= "2017-01-01" THEN 1 END ) dat_90, ( CASE WHEN order_date >= DATE_SUB("2017-01-01", 179) AND order_date <= "2017-01-01" THEN 1 END ) dat_180 FROM fdm.itcast_fdm_order a WHERE dt = "2017-01-01") a JOIN (SELECT * FROM fdm.itcast_fdm_order_goods WHERE dt = "2017-01-01") b ON (a.user_id = b.user_id) GROUP BY a.user_id,b.third_cart,b.third_cat_name;--购物车中类目情况 --购物车中类目情况 drop table if exists gdm.itcast_gdm_user_cart_category_temp; create table gdm.itcast_gdm_user_cart_category_temp as select a.user_id, b.third_cart, sum( case when to_date (add_time) >= date_sub("2017-01-01", 29) and to_date (add_time) <= "2017-01-01" then 1 end ) month1_category_cnt, sum( case when to_date (add_time) >= date_sub("2017-01-01", 59) and to_date (add_time) <= "2017-01-01" then 1 end ) month3_category_cnt, sum( case when to_date (add_time) >= date_sub("2017-01-01", 179) and to_date (add_time) <= "2017-01-01" then 1 end ) month6_category_cnt, count(1) total_category_cnt from (select * from fdm.itcast_fdm_order_cart where dt = "2017-01-01" and to_date (add_time) >= date_sub("2017-01-01", 179) and to_date (add_time) <= "2017-01-01") a left join (select goods_id, third_cart from fdm.itcast_fdm_order_goods where dt = "2017-01-01" group by goods_id, third_cart) b on (a.goods_id = b.goods_id) group by user_id, b.third_cart ;--整合 drop table if exists gdm.itcast_gdm_user_category_total; create table gdm.itcast_gdm_user_category_total as select a.user_id, b.first_category_id, b.first_category_name, b.second_category_id, b.second_catery_name, a.third_category_id, b.third_category_name from (select user_id, third_category_id from gdm.itcast_gdm_user_buy_category_temp union all select user_id, third_cart from gdm.itcast_gdm_user_cart_category_temp) a left join gdm.gdm_category_code b on ( a.third_category_id = b.third_category_id ) group by a.user_id, b.first_category_id, b.first_category_name, b.second_category_id, b.second_catery_name, a.third_category_id, b.third_category_name ;--生成最终客户购买类目表 INSERT overwrite TABLE gdm.itcast_gdm_user_buy_category PARTITION (dt = "2017-01-01") SELECT t.user_id, t.first_category_id, t.first_category_name, t.second_category_id, t.second_catery_name, t.third_category_id, t.third_category_name, t1.month1_category_cnt, t1.month1_category_amt, t1.month3_category_cnt, t1.month3_category_amt, t1.month6_category_cnt, t1.month6_category_amt, t1.total_category_cnt, t1.total_category_amt, t2.month1_category_cnt, t2.month3_category_cnt, t2.month6_category_cnt, t2.total_category_cnt, t1.last_category_time, t1.last_category_ago, FROM_UNIXTIME(UNIX_TIMESTAMP()) dw_date FROM gdm.itcast_gdm_user_category_total t LEFT JOIN gdm.itcast_gdm_user_buy_category_temp t1 ON ( t.user_id = t1.user_id AND t.third_category_id = t1.third_category_id ) LEFT JOIN gdm.itcast_gdm_user_cart_category_temp t2 ON (t.user_id = t2.user_id AND t.third_category_id = t2.third_cart) ;
关于助听器的佩戴与认知知识有什么?你好,助听器初始佩戴时间由短慢慢增长,环境由安静的逐渐到嘈杂的,听觉分为两部分,听见和听清楚,助听器可以帮助听损的人听的见,听的清,听的懂就要看自身的言语分辨能力如何,再好的助听器
要管理好小孩用的电子产品第一块电话手表2018年暑假,为了联系方便,给正在读小学的神兽买了一块电话手表,当时入手的这一块手表价格300元左右,配置参数2G网络,前摄像头30万像素,电池600mAh,待机状
OPPOReno7预计起售价3000元,Reno6超低价在眼前,网友欢呼又有一款新机即将发布,这款新机就是OPPOReno7系列,根据爆料信息来看,OPPOReno7预计10月份闪亮登场。OPPOReno7预计正面采取了6。6英寸OLED材质的挖孔直面
全力为iPhone13让路,iPhone12mini已跌破4000元,且买且珍惜一直以来,小屏手机都以优越的便携性获得了不少消费者的青睐。为了满足小屏党们的期待,苹果在去年秋季新品发布会上,正式发布全球首款最轻最小的5G手机iPhone12mini,起售价为5
为啥没人开发特斯拉新能源三轮车?中国己经步入老龄社会,老年人工作了一辈子,操劳了一辈子,如今大部分人都己退休或将要退休,回家后,接孙子做家务之余,也想四处去转转,散散心,到处去旅游一下。坐火车虽然省心,但自由度差
a16z为美国政府提议去中心化友好的监督制度链得得(微信号ChainDD)10月06日讯,据CoinDesk报道,风险投资公司AndreessenHorowitz(a16z)提出了美国政府可以管理加密货币和区块链技术的四个主
以制度设计应对智能时代主体性危机自18世纪蒸汽机的发明开始,历次工业革命催生了电力化信息通讯技术以及人工智能的发展,每一次技术更迭都会引发人们对就业市场的忧思。工业化进程带来了人口的迁徙和身份的转变,人工智能作为
未来在移动芯片移动操作系统方面诞生的操作系统将层出不穷马云认为1。老板和所有的高层一定要想明白,要有未来观,从未来看今天。2。要有全球观,从全球未来看今天。3。全局观,讲政治是全局观很重要的一部分。这是公司高层管理必须要有的三观。未来
车企开始突破新能源赛道极点随着上市公司年中报披露落下帷幕,各大车企也悉数交出了期中考的成绩单。透过纷繁复杂的数据不难发现,新能源这个元素似乎成了提分宝典,大多车企都把新能源汽车领域的单科成绩放在半年报的显著
一农民工自封互联网先知并扬言要做后互联网时代最大公司拚搏人生,无限精彩,一要努力,二靠平台。平台的维度高低关乎事业的格局大小。不怕牛皮吹得大,一旦实现皆神话。早已没人质疑马云当年夸下的海口,阿里就在那儿。全球云公司,既然出自谁口都像
斯诺登发声脸书宕机事件俄罗斯卫星通讯社莫斯科10月4日电,前美国中央情报局官员爱德华斯诺登表示,脸书的大范围故障的结果是让世界变得更健康。周一,世界各地的脸书Instagram和WhatsApp用户报告