开发者社区> 问答> 正文

使用flink-sql实现mysql维表的join的ddl和dml的示列

有没有使用flink-sql实现mysql维表的join的ddl和dml的示列的demo能够参考一下,非常感谢。*来自志愿者整理的flink邮件归档

展开
收起
毛毛虫雨 2021-12-08 11:15:50 548 0
1 条回答
写回答
取消 提交回答
  • mysql 维表的 DDL 和 源表/结果表 的 DDL 是一样的。 例如下面这个 DDL 的声明,rates 在 flink sql 中既可以作为 source 也可以是 sink,也可以是维表。

    CREATE TABLE rates ( currency VARCHAR, rate BIGINT ) WITH ( 'connector.type' = 'jdbc', -- 使用 jdbc connector 'connector.url' = 'jdbc:mysql://localhost:3306/flink-test', -- jdbc url 'connector.table' = 'rates', -- 表名 'connector.username' = 'root', -- 用户名 'connector.password' = '123456', -- 密码 )

    如果要用它作为维表的话,那么需要用到 temporal join 的语法。如:

    SELECT o.amout, o.currency, r.rate, o.amount * r.rate FROM Orders AS o JOIN rates FOR SYSTEM_TIME AS OF o.proctime AS r ON r.currency = o.currency

    关于维表 join,可以查看官方文档: https://ci.apache.org/projects/flink/flink-docs-master/dev/table/streaming/joins.html#join-with-a-temporal-table*来自志愿者整理的flink邮件归档

    2021-12-08 19:20:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像