复合场景
场景设定
某电商平台进行销售,想要实时分析不同地区进行购买操作的用户总数,用户信息、商品信息为独立维表,购买操作为流信息,实时计算可实现单流与双维表JOIN操作,并根据需求进行大小为10s的滚动窗口开窗,计算输出各个地区的消费者人数和消费总金额;
操作步骤
源表-字段填写
在流计算源表中进行字段映射填写,从kafka中将数据流映射为具体字段。
after_ordercodeofsys varchar as ordercodeofsys
after_paytime timestamp as paytime
after_goodscode varchar as goodscode
after_buyerscode varchar as buyerscode
FlinkSQL代码
insert into dts_ds_ssddt_orders_target
select
buyerplace as buyerplace,
sum(CAST(goodsamount as bigint)) as all_count,
COUNT(buyername) as people_count,
TUMBLE_START(PROCTIME,INTERVAL '10' SECOND) as tms ,
TUMBLE_END(PROCTIME,INTERVAL '10' SECOND) as tme
from (
SELECT
*
FROM
dts_ds_ssddt_orders_source s
left JOIN dts_ds_ssddt_buyer_info b on s.buyerscode = b.buyerscode
) as c left JOIN dts_ds_ssddt_goods_info g on c.goodscode = g.goodscode
GROUP BY
buyerplace,TUMBLE(PROCTIME,INTERVAL '10' SECOND)