单流与单维表Join

场景设定

某电商平台进行销售,想要实时分析不同地区进行购买操作的用户总数,用户信息为独立维表,购买操作为流信息,实时计算可实现单流与单维表JOIN操作,计算输出各个地区的消费者人数和消费总金额。

解决方案

单单-1.png

操作步骤

源表-字段填写

在流计算源表中进行字段映射填写,从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_ssdt_orders_target
select i.dts_buyerplace                       as buyerplace,
      count(i.dts_buyername)                 as people_count,
      SUM(CAST(s.dts_goodsamount as bigint)) as all_count
FROM dts_ds_ssdt_orders_source s
        JOIN
    dts_ds_ssdt_buyer_info i
    ON s.dts_buyerscode = i.dts_buyerscode
group by i.dts_buyerplace

运行结果

  • 实时采集、FlinkSQL任务有正常的数据吞吐

单单-2.png
单单-3.png
  • 结果表内数据根据消费者地区划分并自动更新

单单-4.png