flink-user-zh mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "迎风浪子" <576637...@qq.com>
Subject 回复:使用flink-sql实现mysql维表的join的ddl和dml的示列
Date Fri, 11 Oct 2019 10:45:28 GMT
请问sql ddl如何定义o.proctime呢?


 
---原始邮件---
发件人: "Jark Wu"<imjark@gmail.com&gt;
发送时间: 2019年9月29日(星期日) 中午11:42
收件人: "user-zh"<user-zh@flink.apache.org&gt;;
主题: Re: 使用flink-sql实现mysql维表的join的ddl和dml的示列


Hi,

mysql 维表的 DDL 和 源表/结果表 的 DDL 是一样的。 例如下面这个 DDL 的声明,rates
在 flink sql 中既可以作为
source 也可以是 sink,也可以是维表。

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

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

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

&nbsp;关于维表 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 <986463030@qq.com&gt; wrote:

&gt; Hi,各位大佬:
&gt;
&gt; 有没有使用flink-sql实现mysql维表的join的ddl和dml的示列的demo能够参考一下,非常感谢。
Mime
  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message