5.阿里云 大数据开发实践odpscmd电商在线交易分析

1.创建在线交易表

CREATE TABLE IF NOT EXISTS online_trading(
    create_time  DATETIME COMMENT '时间',
    good_cate    STRING COMMENT '商品种类',
    brand        STRING COMMENT '品牌'  ,
    buyer_id     STRING COMMENT '用户id',
    trans_num    BIGINT COMMENT '交易量'  ,
    trans_amount DOUBLE COMMENT '金额'  ,
    click_cnt    BIGINT COMMENT '单击次数'  ,
    addcart_cnt  BIGINT COMMENT '加入购物车次数'  ,
    collect_cnt  BIGINT COMMENT '加入收藏夹次数'  
) 

2.创建用户信息表

CREATE TABLE IF NOT EXISTS user
(
    buyer_id   STRING COMMENT '用户id',
    buyer_prov STRING COMMENT '省份',
    gender     STRING COMMENT '性别',
    age_range  STRING COMMENT '年龄段',
    zodiac     STRING COMMENT '星座'
) ;

3.创建结果数据存储表

CREATE TABLE IF NOT EXISTS summary (
prov STRING COMMENT '省份',
gender STRING COMMENT '性别',
age_range STRING COMMENT '年龄段',
zodiac STRING COMMENT '星座',
good_cate STRING COMMENT '商品种类',
brand STRING COMMENT '品牌',
trans_num BIGINT COMMENT '交易量',
trans_amount DOUBLE COMMENT '金额',
click_cnt BIGINT COMMENT '单击次数',
addcart_cnt BIGINT COMMENT '加入购物车次数',
collect_cnt BIGINT COMMENT '加入收藏夹次数'
);

4.创建用户数的汇总表:

CREATE TABLE IF NOT EXISTS user_cnt (
    buyer_cnt BIGINT COMMENT '用户数'
    );

5.创建交易分析ODPS_SQL节点,双击输入代码:

INSERT OVERWRITE TABLE summary
SELECT buyer.buyer_prov
,buyer.gender
,buyer.age_range
,buyer.zodiac
,sale.good_cate
,sale.brand
, SUM(sale.trans_num) AS trans_num
, SUM(sale.trans_amount) AS trans_amount
, SUM(sale.click_cnt) AS click_cnt
, SUM(sale.addcart_cnt) AS addcart_cnt
, SUM(sale.collect_cnt) AS collect_cnt
FROM online_trading sale
JOIN user buyer
ON sale.buyer_id = buyer.buyer_id
GROUP BY buyer.buyer_prov,buyer.gender,buyer.age_range,buyer.zodiac,sale.good_cate,sale.brand;

6.创建用户数ODPS_SQL节点,双击输入代码:

INSERT OVERWRITE TABLE user_cnt
SELECT count(distinct buyer_id) AS buyer_cnt
FROM online_trading;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_胡杨_

感谢打赏,会多多更新的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值