您当前的位置: 首页 >  sql

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

基于 FLINK SQL 的实时数据打宽

宝哥大数据 发布时间:2021-09-15 22:37:21 ,浏览量:0

文章目录
  • 一、数据打宽
    • 1.1、ETL架构
    • 1.2、数据打宽
    • 1.3、利⽤ Flink SQL 打宽实时数据
  • 二、双流 Join & 区间 Join
    • 2.1、双流 Join (Regular Join)
    • 2.2、区间 Join (Interval Join)
  • 三、时态表 Join
    • 3.1、时态 (Temporal)表 VS 临时(Temporary)表
    • 3.2、时态(Temporal )表 概念
    • 3.3、时态表 Join
      • 3.3.1、Temporal Join Lookup DB
      • 3.3.2、Flink 版本表
      • 3.3.3、Temporal Join 版本表
      • 3.3.4、Temporal Join 版本表(versioned view)
      • 3.3.5、Temporal Join 版本表(upsert-kafka)
      • 3.3.6、Temporal Join Hive
        • 3.3.6.1、Temporal Join (最新 Hive 分区)
        • 3.3.6.2、Temporal Join (最新 Hive 表)
        • 3.3.6.3、Temporal Join (最新分区 VS 最新表)
  • 四、案例
    • 4.1、[Temporal Join Versioned Table](https://chbxw.blog.csdn.net/article/details/120318583)
  • 关注我的公众号【宝哥大数据】, 更多大数据干货

一、数据打宽 1.1、ETL架构

在这里插入图片描述

1.2、数据打宽

在这里插入图片描述

1.3、利⽤ Flink SQL 打宽实时数据

在这里插入图片描述

二、双流 Join & 区间 Join 2.1、双流 Join (Regular Join)
SELECT i.*, c.*
FROM impressions as i JOIN clicks as c
ON i.id = c.impression_id

在这里插入图片描述

  • 支持 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
  • 语法, 语义 均和传统批 SQL 一致
  • 左右流都会触发结果更新
  • 状态持续增长,一般结合 state TTL 使用
2.2、区间 Join (Interval Join)

在这里插入图片描述 在这里插入图片描述

  • 支持 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
  • 左右流都会触发结果更新
  • State 自动清理,根据时间区间保留数据
  • 输出流保留时间属性
三、时态表 Join 3.1、时态 (Temporal)表 VS 临时(Temporary)表

在这里插入图片描述

3.2、时态(Temporal )表 概念

在这里插入图片描述

3.3、时态表 Join

在这里插入图片描述

在这里插入图片描述

  • 支持 INNER JOIN, LEFT JOIN
  • 只有左流都会触发结果更新
  • 输出流保留时间属性
3.3.1、Temporal Join Lookup DB

在这里插入图片描述

  • 具备 lookup 的能力的外部系统
  • 典型的 connector 有 HBase,JDBC
  • 自定义connector需实现 LookupTableSource
  • 支持 Async IO 和 Cache 提升lookup效率

另外社区即将支持 HBase Async IO lookup https://issues.apache.org/jira/browse/FLINK-20460

3.3.2、Flink 版本表

在这里插入图片描述

3.3.3、Temporal Join 版本表

在这里插入图片描述

3.3.4、Temporal Join 版本表(versioned view)

在这里插入图片描述

3.3.5、Temporal Join 版本表(upsert-kafka)

在这里插入图片描述

3.3.6、Temporal Join Hive 3.3.6.1、Temporal Join (最新 Hive 分区)

在这里插入图片描述

在这里插入图片描述

3.3.6.2、Temporal Join (最新 Hive 表)

在这里插入图片描述

在这里插入图片描述

3.3.6.3、Temporal Join (最新分区 VS 最新表)

在这里插入图片描述

四、案例 4.1、Temporal Join Versioned Table

在这里插入图片描述

关注我的公众号【宝哥大数据】, 更多大数据干货

在这里插入图片描述

参考: https://www.bilibili.com/video/BV1Ap4y1h7j1?from=search&seid=16517504794128610121&spm_id_from=333.337.0.0 完整课程及PPT下载:https://flink-learning.org.cn/activity/detail/1e05a08375cb70d1d6cdc6886c47f03d

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0391s