You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 冯草纸 <al...@qq.com> on 2020/11/25 10:42:37 UTC

回复: flink sql 连接mysql 无数据输出

Hi,
&nbsp; 我检查了一下代码,execute方法是调用了的,具体代码如下:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
EnvironmentSettings settings = EnvironmentSettings.newInstance().useAnyPlanner().inStreamingMode().build();
StreamTableEnvironment bsTableEnv = StreamTableEnvironment.create(env, settings);


bsTableEnv.getConfig().getConfiguration().set(
&nbsp; &nbsp; &nbsp; ExecutionCheckpointingOptions.CHECKPOINTING_MODE, CheckpointingMode.EXACTLY_ONCE);
bsTableEnv.getConfig().getConfiguration().set(
&nbsp; &nbsp; &nbsp; ExecutionCheckpointingOptions.CHECKPOINTING_INTERVAL, Duration.ofSeconds(10));


String ddl = "CREATE TABLE meson_budget_data (\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; ID BIGINT,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Gangtise_Code STRING,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; InnerCode INT,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Tradingday DATE, \n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; ClosePrice DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Close_3day DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Close_5day DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Close_10day DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Close_20day DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Close_60day DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Close_120day DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; Close_250day DOUBLE,\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; PRIMARY KEY (ID) NOT ENFORCED\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; ) WITH(\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; &nbsp; 'connector' = 'jdbc',\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; &nbsp; 'url' = 'jdbc:mysql://gangtisedb.mysql.database.chinacloudapi.cn_3306',\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; &nbsp; 'table-name' = 'gangtise_budget.meson_budget_data',\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // "&nbsp; &nbsp; 'username' = 'root',\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // "&nbsp; &nbsp; 'password' = '123456',\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; &nbsp; 'driver' = 'com.mysql.jdbc.Driver'\n" +
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; )";


bsTableEnv.executeSql(ddl);
TableResult mtr = bsTableEnv.executeSql("select * from meson_budget_data");
mtr.print();


env.execute("sql test");
// bsTableEnv.execute("sql test");



其中数据的用户名密码我注不注释掉好像没区别,看起来压根还没去连数据库?求解……


------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <caozhen1937@163.com&gt;;
发送时间:&nbsp;2020年11月25日(星期三) 晚上6:22
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: flink sql 连接mysql 无数据输出






是不是没有加这一行代码,tableEnv.execute("test");



AlfredFeng wrote
&gt; Hi All,
&gt; &amp;nbsp; &amp;nbsp; 我在Idea里用flink-jdbc-connector连接mysql,
&gt; 建完表后执行env.executeSql("select * from my_table").print()方法,只打印了表头,没有数据是什么原因?
&gt; flink版本1.11.2





--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复: flink sql 连接mysql 无数据输出

Posted by 冯草纸 <al...@qq.com>.
Hi
开了DEBUG日志发现程序有报错,是mysql连接参数配置有误,已解决,感谢回复!




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <xbjtdcq@gmail.com&gt;;
发送时间:&nbsp;2020年11月26日(星期四) 上午9:54
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: flink sql 连接mysql 无数据输出



Hi

调用了executeSql,作业就已经执行了,不用再调用下面的这个执行方法,看你已经配置了cp,确认下mysql的参数是否正确。

&gt; 在 2020年11月25日,18:42,冯草纸 <alfredfzw@qq.com&gt; 写道:
&gt; 
&gt; env.execute("sql test");
&gt; // bsTableEnv.execute("sql test");

Re: flink sql 连接mysql 无数据输出

Posted by Kyle Zhang <sh...@gmail.com>.
上面写错了,table要转成stream再打印

On Thu, Nov 26, 2020 at 11:46 AM Kyle Zhang <sh...@gmail.com> wrote:

> 调用executeSql,应该输出到另一张表里,比如printTable才能打印。
> 要不就是bsTableEnv.sqlQuery("select * from meson_budget_data").print()打印出来;
>
> On Thu, Nov 26, 2020 at 9:54 AM Leonard Xu <xb...@gmail.com> wrote:
>
>> Hi
>>
>> 调用了executeSql,作业就已经执行了,不用再调用下面的这个执行方法,看你已经配置了cp,确认下mysql的参数是否正确。
>>
>> > 在 2020年11月25日,18:42,冯草纸 <al...@qq.com> 写道:
>> >
>> > env.execute("sql test");
>> > // bsTableEnv.execute("sql test");
>>
>>

Re: flink sql 连接mysql 无数据输出

Posted by Kyle Zhang <sh...@gmail.com>.
调用executeSql,应该输出到另一张表里,比如printTable才能打印。
要不就是bsTableEnv.sqlQuery("select * from meson_budget_data").print()打印出来;

On Thu, Nov 26, 2020 at 9:54 AM Leonard Xu <xb...@gmail.com> wrote:

> Hi
>
> 调用了executeSql,作业就已经执行了,不用再调用下面的这个执行方法,看你已经配置了cp,确认下mysql的参数是否正确。
>
> > 在 2020年11月25日,18:42,冯草纸 <al...@qq.com> 写道:
> >
> > env.execute("sql test");
> > // bsTableEnv.execute("sql test");
>
>

Re: flink sql 连接mysql 无数据输出

Posted by Leonard Xu <xb...@gmail.com>.
Hi

调用了executeSql,作业就已经执行了,不用再调用下面的这个执行方法,看你已经配置了cp,确认下mysql的参数是否正确。

> 在 2020年11月25日,18:42,冯草纸 <al...@qq.com> 写道:
> 
> env.execute("sql test");
> // bsTableEnv.execute("sql test");