开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问如果想往mysql里面写数据,直接用flink-connector-jdbc就可以吧,可是我在f

请问如果想往mysql里面写数据,直接用flink-connector-jdbc就可以吧,可是我在flink sql里面建完jdbc的表,无法进行查询,请问正常吗

展开
收起
游客3oewgrzrf6o5c 2022-07-29 16:05:04 382 0
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    是的,您可以使用Flink的JDBC Connector来连接MySQL并向表中写入数据。但是,在使用Flink SQL查询该表时,可能需要进行一些配置。
    默认情况下,Flink SQL只支持读取已经存在的表。如果您想在SQL中查询由JDBC Connector写入的表,则需要在SQL中使用CREATE TABLE语句创建该表,并使用ALTER TABLE语句将该表的结构与JDBC Connector写入的表对应起来。
    具体来说,您需要在SQL中指定表的名称、字段名称和类型,并使用IF NOT EXISTS语句确保在表不存在的情况下创建该表。然后,您可以使用ALTER TABLE语句将该表的结构与JDBC Connector写入的表对应起来。
    例如,以下是在Flink SQL中创建和查询由JDBC Connector写入的表的示例:

    sql
    Copy code
    CREATE TABLE my_table (
    id INT,
    name STRING,
    age INT
    ) WITH (
    'connector' = 'jdbc',
    'url' = 'jdbc:mysql://localhost:3306/mydb',
    'username' = 'root',
    'password' = 'password',
    'driver-class-name' = 'com.mysql.jdbc.Driver',
    'format' = 'csv'
    );

    -- 查询已经存在的表
    SELECT * FROM my_table;

    -- 向表中写入数据
    INSERT INTO my_table VALUES (1, 'John', 25);
    在上述示例中,我们使用CREATE TABLE语句创建了一个名为my_table的表,并使用WITH子句指定了JDBC Connector连接MySQL的配置。然后,我们使用ALTER TABLE语句将该表的结构与JDBC Connector写入的表对应起来。最后,我们使用SELECT语句查询该表中已经存在的数据,并使用INSERT INTO语句向该表中写入新数据。
    希望这些信息对您有所帮助。如果您还有其他问题,欢迎继续提问。

    2023-07-14 14:26:57
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载

    相关镜像