单流与多维表Join
场景设定
某电商平台进行销售,想要实时分析不同地区进行购买操作的用户总数,用户信息、商品信息为独立维表,购买操作为流信息,实时计算可实现单流与双维表JOIN操作,计算输出各个地区的消费者人数和消费总金额;
操作步骤
源表-字段填写
在流计算源表中进行字段映射填写,从kafka中将数据流映射为具体字段。
after_ordercodeofsys varchar as ordercodeofsys
after_paytime timestamp as paytime
after_goodscode varchar as goodscode
after_buyerscode varchar as buyerscode
创建结果表 dts_ds_ssddt_orders_target
create table dts_ds_ssdt_orders_target(
buyerplace varchar(255),
all_count bigint,
people_count bigint
)
FlinkSQL 代码
insert into dts_ds_ssddt_orders_target
select
b.buyerplace as buyerplace,
sum(CAST(g.goodsamount as bigint)) as all_count,
COUNT(b.buyername) as people_count
from
dts_ds_ssddt_orders_source s
join dts_ds_ssddt_buyer_info b on s.buyerscode = b.buyerscode
join dts_ds_ssddt_goods_info g on s.goodscode = g.goodscode
group by
b.buyerplace