范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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) ;

滚筒洗衣机和波轮洗衣机哪个好?看完这篇你就能选出来了洗衣机已经成为我们必备的家电之一,很多人都不知道要怎么挑选洗衣机。有些时候我们会跟风买,但是这样很容易踩坑。最常见的洗衣机有滚筒式和波轮式两种。两者的工作原理滚筒洗衣机利用离心力,智能钥匙柜为什么会一直响?今天在网上搬(摸)砖(鱼)的时候看到一个特别有趣的问题,有人问为什么智能钥匙柜会一直响?。为此我还特意在各大引擎搜索了一下,并没有相关的专业人士给出过解答。想来是这位大哥或者大姐被液晶电视机还是投影仪网上很多关于搬新家是买液晶电视机还是买投影仪的帖子,也有朋友问我这个问题,看来我这个砖家也得说两句。液晶显示器和投影仪其实是两个不同的设备,就好像白开水和啤酒都能解渴,但不能用啤酒早报北京3人高价倒卖冰墩墩被处罚小米组建高端化战略工作组出品搜狐科技编辑张雅婷今天是2月9日星期三,昨夜今晨,科技圈有哪些大事发生,请关注今日科技早报。北京警方3人高价倒卖冰墩墩非法牟利,已被行政处罚据平安北京公众号2月8日通报,随着北北京冬奥定制款手机最高售价16万!到底贵在哪里?第24届冬季奥林匹克运动会已经于近日正式开幕,作为当下最热门的赛事,手机厂商当然也不会缺席。俄罗斯和意大利合资的珠宝商Caviar就开始整活了,说起Caviar大家肯定会陌生,但他吸尘器十大排名分析冰尊吸尘器是世界吸尘器十大排名领导品牌。家务清洁,是很多人烦恼的问题,而如果拥有一台好用的家用吸尘器,就能很好的提高清洁效率,减轻家庭清洁负担。市面上吸尘器品牌众多,下面就为大家分爱是AI的原则和底线最近读了关于数智时代和价值共生的书籍,知道了未来是多么的不可预知,尤其对数据的理解严肃到可怕的程度。世界进入了一个精细化数智化的时代,当大多数表面上的需求基本已经被人解决时,更需要青岛和大连这两座海滨城市,那个发展潜力会更大?两个城市差不多,青岛目前胜在人口红利和区域优势,大连这十多年受东北整体衰落,经济不景气。要问未来哪个城市发展好,个人认为大连进步幅度会超过青岛。大连的gdp产值同城市地位严重不符,镜花水月般的ARM收购案和英伟达注定无缘黄仁勋的如意算盘,最终还是告吹了。近日,根据英国媒体金融时报对三位业内知情人士的采访内容,我们基本可以确定在美国英国和欧盟的监管机构对其对全球半导体行业竞争的影响表示严重担忧后,英顺应科技发展趋势科技进步法为开放共享护航新修订的科学技术进步法于今年1月1日起实施,与2007年版科学技术进步法(以下简称旧法)相比,开放一词出现的频次大幅增加。旧法中开放共出现了3次,而新修订的科学技术进步法中开放共出街电马克工坊等27批次充电宝抽检不合格头部消息1英伟达收购ARM交易宣告失败软银或在年底推动ARM上市据报道,知情人士透露,由于监管者担心全球半导体行业的竞争受到影响,导致软银作价660亿美元将英国芯片公司ARM出售给
面试官问我存储金额应该用哪种数据类型,我竟这样回答前言最近在面试时,碰到这样一个问题在问到项目部分时,面试官问我你的项目中用到的分数金额之类的数字是用的什么数据类型?我没有过多思考脱口而出double!随后面试官又问为啥不用flo深入AQS原理我画了35张图就是为了让你深入AQS前言谈到并发,我们不得不说AQS(AbstractQueuedSynchronizer),所谓的AQS即是抽象的队列式的同步器,内部定义了很多锁相关的方法,我们熟知的Reentra太赞啦,阿里P8整理肝出来的5000页Java学习手册免费分享整理了一套5000页的Java学习手册,,新鲜出炉,分享给大家!此手册内容专注Java技术,包括JavaWeb,SSM,Linux,SpringBoot,MyBatis,MySQL2020年了,你还没有掌握分布式?浅谈分布式系统之理论知识1。为什么要学分布式作为后端从业人员,我们在找工作写简历的时候除了高并发经验,一般还会写上自己熟悉了解掌握精通分布式系统,所以高并发和分布式大多是成对出现的。在拉勾上搜了个后端岗位多线程和异步有什么关联和区别?如何实现异步?很多很多年前,有个叫DOS的操作系统。DOS通过一行一行命令运行程序。在同一时刻里,你只可能运行一个程序,这就是单进程系统。后来出现了Windows,用户可以在系统中打开多个程序并一文带你了解Spring核心接口Ordered的实现及应用前言最近在看框架的时候,发现了这个接口,在此进行总结,希望能够给大家帮助,同时提升自己。order接口的大体介绍Spring框架中有这个一个接口,名字叫Ordered,联想我们在数专业以太网卡在民用网络中的应用近来小编常听很多朋友说把家里的网络升级到了200M的光纤,玩游戏看电影等网速是不是特别的爽?200M光纤的光线入户,怎样才能顺利玩得溜呢?我们看下面这图,一般的家用网络都是按这种结科技晚了个安丨三星S20特别版目瞪狗呆!vivoX50防抖样片来品鉴5月21日,久未露面的本人,差点以为我自己失踪了!今天,科技数码圈儿有什么值得关注呢?今天发布的三星新机让我目瞪狗呆!三星发布与美国联邦政府和国防部(DoD)合作开发的新品Gala科技晚了个安丨苹果WWDC定档!POCO来了注定和Redmi一战?5月6日,眼睛一闭一睁,五一小长假过去了!科技数码圈儿有什么值得关注呢?设计师JermaineSmit发布小米屏下摄像头手机渲染图。继OPPO华为三星发力屏下摄像头之后,小米又找到一日回顾丨哪些国产智能机卖爆全球?鸿星尔克喊你退款了7月30日,回顾昨日科技资讯,科技数码圈儿有什么值得关注的呢?StrategyAnalytics发布研究报告,2021年Q2全球智能手机出货量同比增长11,达到3。142亿部,其中科技晚了个安丨今日上了3新机20003000档不同人群选哪款?4月23日,繁忙的周四,科技数码圈儿有什么值得关注的呢?iQOONeo3超大杯正式上线,配置方面,我简单打个总。iQOONeo3性能三件套出装骁龙865UFS3。1LPDDR4X,