当前位置: 首页 > news >正文

flink-jdbc-driver

        Flink JDBC 驱动程序是一个 Java 库,使客户端能够通过 SQL 网关将 Flink SQL 发送到 Flink 集群。

     首先启动:1.flink集群,随意任何集群。

     2.启动flink-sql-gateway:

sql-gateway.sh start -Dsql-gateway.endpoint.rest.address=localhost

验证sql- gateway

curl http://localhost:8083/v1/info
  1. Maven 依赖项

    Flink JDBC 驱动是一个通过 JDBC API 访问 Flink 集群的库。有关 Java 中 JDBC 的一般用法,请参见 JDBC 教程。

  2. 在项目的pom.xml中添加以下依赖项,或者下载 flink-jdbc-driver-bundle-{VERSION}.jar 并将其添加到你的 Classpath 中。

       

 <dependency><groupId>org.apache.flink</groupId><artifactId>flink-sql-jdbc-driver-bundle</artifactId><version>${flink.version}</version></dependency>
  1. 使用特定 URL 连接到 Java 代码中的 Flink SQL 网关。
  2. 执行您想要的任何语句。

     

public class Main {public static void main(String[] args) throws SQLException {Properties properties = new Properties();properties.setProperty("table.exec.sink.not-null-enforcer","DROP");DataSource dataSource = new FlinkDataSource("jdbc:flink://ip:8083", properties);try (Connection connection = dataSource.getConnection()) {try (Statement statement = connection.createStatement()) {/*statement.execute("CREATE TABLE student (\n" +"  id VARCHAR(255),\n" +"  sid VARCHAR(255),\n" +"  name VARCHAR(255),\n" +"  PRIMARY KEY (id) NOT ENFORCED" +") WITH (\n" +"   'connector' = 'jdbc',\n" +"   'url' = 'jdbc:mysql://ip:3306/test?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true',\n" +"   'username' = 'test',\n" +"   'password' = 'test@123',\n " +"   'table-name' = 'student' " +")");statement.execute("CREATE TABLE students (\n" +"  id VARCHAR(255),\n" +"  sid VARCHAR(255),\n" +"  name VARCHAR(255),\n" +"  PRIMARY KEY (id) NOT ENFORCED" +") WITH (\n" +"   'connector' = 'jdbc',\n" +"   'url' = 'jdbc:mysql://ip:3306/test?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true',\n" +"   'username' = 'test',\n" +"   'password' = 'test@123',\n " +"   'table-name' = 'students' " +")");*/statement.execute("CREATE TABLE students (\n" +"  name STRING,\n" +"  sid BIGINT,\n" +"  PRIMARY KEY (sid) NOT ENFORCED" +") WITH (\n" +"   'connector' = 'paimon',\n" +"   'path' = 'hdfs://ip:8072/paimon/hive/olap_mz.db/students'\n" +")");//statement.execute("INSERT INTO students VALUES ('1', 's1', 'Hi'), ('2', 's2','Hello')");try (ResultSet rs = statement.executeQuery("SELECT st.sid,count(st.sid) as coun FROM students st group by st.sid")) {while (rs.next()) {System.out.println(rs.getLong(1) +","+rs.getLong(2) );}statement.close();}connection.close();}}}
}

注释的是mysql的,运行的是paimon的。

http://www.lryc.cn/news/456544.html

相关文章:

  • 快速的配置Prettier,让代码更整洁
  • JavaEE: HTTPS的魅力与优势揭秘
  • 软件设计师——系统基础开发
  • 架构设计笔记-7-系统架构设计基础知识
  • 跨平台应用程序本地化过程的特点
  • C++面试速通宝典——9
  • 阿里巴巴商品详情API返回值:电商行业发展的新动力
  • php的urlencode和rawurlencode区别
  • LeetCode讲解篇之322. 零钱兑换
  • 猴子吃桃-C语言
  • 【C++】单例模式「详尽版」
  • MongoDB集群模式详解及应用实战
  • 接着上一篇stp 实验继续
  • 怎么将手机备忘录传送至电脑
  • 解决触摸屏屏幕乱动的问题:E: 无法定位软件包 libinput
  • RISC-V笔记——基础
  • 「Kafka」Kafka消息可靠性和重复消费问题(五)
  • 现代身份和访问管理 IAM 如何降低风险
  • 2024年江西省职业院校技能大赛(高职组)信息安全管理与评估”赛项竞赛规程
  • 在 Koa 中,中间件函数的参数ctx是什么?
  • 在 Gitlab 中使用 ChatGPT 进行 CodeReview
  • 解决新版Android studio不能连接手机的问题
  • arcgis for js点位渲染与实际坐标不一致且popupTemplate偏移
  • 定点数和浮点数的详细介绍(一)定义、范围、位宽
  • Redis: 集群环境搭建,集群状态检查,分析主从日志,查看集群信息
  • 『网络游戏』动态界面制作创建角色UI【02】
  • CMake 教程跟做与翻译 2
  • Linux 之 安装软件、GCC编译器、Linux 操作系统基础
  • [CTF夺旗赛] CTFshow Web13-14 详细过程保姆级教程~
  • 【Matlab】Matlab 导入数据.csv或者.xlsx文件,然后使用这些数据来绘制图表