Hi,各位大佬: > > 有没有使用flink-sql实现mysql维表的join的ddl和dml的示列的demo能够参考一下,非常感谢。*来自志愿者整理的flink邮件归档
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邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。