flink-多流join

多流join

实时计算的JOIN和传统批处理JOIN的语义一致,都用于将两张表联系起来。区别的是实时计算联系的是两张动态表,联系的结果也会动态更新以保证最终结果和批处理结果保持一致。

场景描述

订单表动态关联商品表,关联字段为商品id,输出关联后的宽表,源表数据样例如下所示。

订单表:
flink-多流join_第1张图片

商品表:
flink-多流join_第2张图片

-- 多流join

-- 2019-10-22 11:42:04

-- moxian

-- 实时计算的JOIN和传统批处理JOIN的语义一致,都用于将两张表联系起来。区别的是实时计算联系的是两张动态表,联系的结果也会动态更新以保证最终结果和批处理结果保持一致。

INSERT INTO mx_stream2stream

SELECT 

 o.rt as rowtime,

 o.productId as productId,

 o.orderId as orderId,

 o.units as units,

 p.name as category,

 cast(p.unitPrice as int) as unitPrice

FROM orders o --源表1 订单表

JOIN products p --源表2 产品表

ON o.productId = p.productId;

注意:

  1. 订单表是动态的,产品表示静态的,动态表join静态表

你可能感兴趣的:(flink,sql)