开发者社区> 问答> 正文

使用blink planner读取mysql数据

hi,All请问,在blink planner的batch mode下,读取mysql数据,依照官网的JDBC Connector的操作: 

CREATE TABLE MyUserTable ( ... ) WITH ( 'connector.type' = 'jdbc', -- required: specify this table type is jdbc 'connector.url' = 'jdbc:mysql://localhost:3306/flink-test', -- required: JDBC DB url 'connector.table' = 'jdbc_table_name', -- required: jdbc table name 'connector.driver' = 'com.mysql.jdbc.Driver', -- optional: the class name of the JDBC driver to use to connect to this URL. -- If not set, it will automatically be derived from the URL. 'connector.username' = 'name', -- optional: jdbc user name and password 'connector.password' = 'password', 

'connector.write.flush.max-rows' = '5000' 

我理解的是创建一个名字叫“ MyUserTable”的临时表,这个表是属于flink env的。但是从MySQL读取的sql(比如说“select * from student where score > 60")在哪儿能体现呢?看上面的用法好像是把全部的数据都取出来或者取多少条?这是让我困惑的地方,另外blink planner 的batch mode读取JDBC有别的方法吗?Thanks!*来自志愿者整理的flink邮件归档

展开
收起
玛丽莲梦嘉 2021-12-02 16:37:40 573 0
1 条回答
写回答
取消 提交回答
  • DDL 是定义了元数据,首先你需要先在 Flink SQL 中用 DDL 定义你在 mysql 中的 student 表。比如 

    CREATE TABLE student ( 

    id BIGINT, 

    score INT 

    ) WITH ( 

    'connector.type' = 'jdbc', 

    'connector.url' = 'jdbc:mysql://localhost:3306/flink-test', 

    'connector.table' = 'student', 

    ... 

    然后,如果你想要查询数据,可以通过 Flink SQL query 来查询,如: 

    SELECT * from student WHERE score > 60 

    注:以上命令都可以在 Flink SQL CLI 中运行 [1]。[1]: 

    https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/sqlClient.html*来自志愿者整理的FLINK邮件归档

    2021-12-02 17:32:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像