Hi,各位大佬:
有没有使用flink-sql实现mysql维表的join的ddl和dml的示列的demo能够参考一下,非常感谢。 |
Administrator
|
Hi,
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 On Fri, 27 Sep 2019 at 14:12, yelun <[hidden email]> wrote: > Hi,各位大佬: > > 有没有使用flink-sql实现mysql维表的join的ddl和dml的示列的demo能够参考一下,非常感谢。 |
请问sql ddl如何定义o.proctime呢?
---原始邮件--- 发件人: "Jark Wu"<[hidden email]> 发送时间: 2019年9月29日(星期日) 中午11:42 收件人: "user-zh"<[hidden email]>; 主题: Re: 使用flink-sql实现mysql维表的join的ddl和dml的示列 Hi, 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 On Fri, 27 Sep 2019 at 14:12, yelun <[hidden email]> wrote: > Hi,各位大佬: > > 有没有使用flink-sql实现mysql维表的join的ddl和dml的示列的demo能够参考一下,非常感谢。 |
Administrator
|
目前 o.proctime 在 DDL 暂时还声明不了,不可以可以使用嵌套 query 生成一个 proctime 字段。
"select ... from (select *, PROCTIME() as proctime from source)" On Fri, 11 Oct 2019 at 18:45, 迎风浪子 <[hidden email]> wrote: > 请问sql ddl如何定义o.proctime呢? > > > > ---原始邮件--- > 发件人: "Jark Wu"<[hidden email]> > 发送时间: 2019年9月29日(星期日) 中午11:42 > 收件人: "user-zh"<[hidden email]>; > 主题: Re: 使用flink-sql实现mysql维表的join的ddl和dml的示列 > > > Hi, > > 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 > > > > > On Fri, 27 Sep 2019 at 14:12, yelun <[hidden email]> wrote: > > > Hi,各位大佬: > > > > 有没有使用flink-sql实现mysql维表的join的ddl和dml的示列的demo能够参考一下,非常感谢。 |
Free forum by Nabble | Edit this page |