flink1.11 mysql 分页查询

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

flink1.11 mysql 分页查询

china_tao
您好,请教一个问题,flink sql 读取mysql如何分页查询。
在spark中,dataframe可以通过dbtable,传入分页查询的语句。
val resultDF = session.read.format("jdbc")
      .option("url",jdbcUrl)
      .option("dbtable" , selectSql )
      .option("user",user)
      .options(writeOpts)
      .option("password",password).load()

在flink中,通过connector,会读取全表么?
String insertSql = CREATE TABLE MyUserTable (
  id BIGINT,
  name STRING,
  age INT,
  status BOOLEAN,
  PRIMARY KEY (id) NOT ENFORCED
) WITH (
   'connector' = 'jdbc',
   'url' = 'jdbc:mysql://localhost:3306/mydatabase',
   'table-name' = 'users'
);
tableEnv.executeSql(insertSql);
以上的executesql会进行全表读取么?
还是执行了下面的sql,才会读取内容?
String querysql = ”select * from MyUserTable limit 1 to 10“;
 tableEnv.sqlQuery(querySql);
执行上看的sqlQuery才会真正的读取数据吧。

问题比较简单,只是有点懵,不知道跟spark是否有区别。
谢谢
 



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink1.11 mysql 分页查询

Leonard Xu
Hi

> 在 2020年8月17日,20:46,china_tao <[hidden email]> 写道:
>
> 您好,请教一个问题,flink sql 读取mysql如何分页查询。
> 在spark中,dataframe可以通过dbtable,传入分页查询的语句。
> val resultDF = session.read.format("jdbc")
>      .option("url",jdbcUrl)
>      .option("dbtable" , selectSql )
>      .option("user",user)
>      .options(writeOpts)
>      .option("password",password).load()
>
> 在flink中,通过connector,会读取全表么?

会的,就是读取全表,connector就是读取全量表

> String insertSql = CREATE TABLE MyUserTable (
>  id BIGINT,
>  name STRING,
>  age INT,
>  status BOOLEAN,
>  PRIMARY KEY (id) NOT ENFORCED
> ) WITH (
>   'connector' = 'jdbc',
>   'url' = 'jdbc:mysql://localhost:3306/mydatabase',
>   'table-name' = 'users'
> );
> tableEnv.executeSql(insertSql);
> 以上的executesql会进行全表读取么?
> 还是执行了下面的sql,才会读取内容?
> String querysql = ”select * from MyUserTable limit 1 to 10“;

这个query Flink的query,从MyUserTable这张全量的表里筛选数据

Best
Leonard

Reply | Threaded
Open this post in threaded view
|

Re: flink1.11 mysql 分页查询

china_tao
那肯定不行啊,我mysql表里面内容很多。FlinkSQL有没有直接分页查询的方法么?望赐教。类似于spark
dataframe中的dbtable,万分感谢



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink1.11 mysql 分页查询

Leonard Xu
Hi
可以跟下这个issue[1], 在1.12会支持用于自定义query

Best
Leonard
https://issues.apache.org/jira/browse/FLINK-17826 <https://issues.apache.org/jira/browse/FLINK-17826>

> 在 2020年8月18日,09:50,china_tao <[hidden email]> 写道:
>
> 那肯定不行啊,我mysql表里面内容很多。FlinkSQL有没有直接分页查询的方法么?望赐教。类似于spark
> dataframe中的dbtable,万分感谢
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/