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

iis网站压缩网站建设狼盾网络

iis网站压缩,网站建设狼盾网络,旅游型网站开发,恩施市网站建设1. 背景 在实时计算或离线任务中#xff0c;往往需要与关系型数据库交互#xff0c;例如 MySQL、PostgreSQL 等。Apache Flink 提供了 JDBC Connector#xff0c;可以方便地将流式数据写入或读取数据库。 本文将介绍 Flink JDBC Connector 的基础用法、配置方法以及注意事…1. 背景 在实时计算或离线任务中往往需要与关系型数据库交互例如 MySQL、PostgreSQL 等。Apache Flink 提供了 JDBC Connector可以方便地将流式数据写入或读取数据库。 本文将介绍 Flink JDBC Connector 的基础用法、配置方法以及注意事项帮助开发者更好地集成数据库操作。 2. JDBC Connector 的基础概念 JDBC Connector 是 Flink 官方提供的一个用于连接关系型数据库的工具包支持 Source从数据库读取数据。Sink将数据写入数据库。 使用 JDBC Connector 可以实现对数据库的实时写入也可以用作批量操作的工具。 3. Maven 依赖 在项目中添加 Flink JDBC 依赖 dependencygroupIdorg.apache.flink/groupIdartifactIdflink-connector-jdbc_2.12/artifactIdversion1.17.0/version !-- 根据实际使用的 Flink 版本调整 -- /dependency 如果使用 MySQL 数据库还需添加 MySQL 驱动 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/version !-- MySQL 驱动版本 -- /dependency 4. JDBC Connector 的使用 4.1 写入数据库Sink 以下是一个将流式数据写入 MySQL 的示例 import org.apache.flink.api.common.typeinfo.Types; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.connector.jdbc.JdbcSink;public class JdbcSinkExample {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment();// 模拟输入数据env.fromElements(Tuple2.of(1, Alice),Tuple2.of(2, Bob),Tuple2.of(3, Charlie)).addSink(JdbcSink.sink(INSERT INTO users (id, name) VALUES (?, ?), // SQL 语句(ps, t) - {ps.setInt(1, t.f0); // 设置第一个参数为 IDps.setString(2, t.f1); // 设置第二个参数为 Name},JdbcSink.DefaultJdbcExecutionOptions.builder().withBatchSize(100) // 批量写入大小.build(),() - JdbcSink.defaultJdbcConnectionProvider(jdbc:mysql://localhost:3306/testdb, // 数据库 URLroot, // 用户名password // 密码)));env.execute(Flink JDBC Sink Example);} } 关键点解析 SQL 语句支持动态参数 ? 占位符适合批量插入。参数绑定通过 Lambda 表达式绑定输入数据与 SQL 参数。批量写入通过 JdbcExecutionOptions 配置批量写入策略。 4.2 从数据库读取数据Source 以下是一个从 MySQL 读取数据并打印的示例 import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.connector.jdbc.JdbcInputFormat; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.streaming.api.datastream.DataStream;public class JdbcSourceExample {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment();DataStreamTuple2Integer, String sourceStream env.createInput(JdbcInputFormat.buildJdbcInputFormat().setDrivername(com.mysql.cj.jdbc.Driver) // JDBC 驱动.setDBUrl(jdbc:mysql://localhost:3306/testdb) // 数据库 URL.setUsername(root) // 用户名.setPassword(password) // 密码.setQuery(SELECT id, name FROM users) // SQL 查询.setRowTypeInfo(Types.TUPLE(Types.INT, Types.STRING)) // 结果类型.finish());sourceStream.print();env.execute(Flink JDBC Source Example);} } 关键点解析 SQL 查询需要提供完整的查询语句。结果类型通过 RowTypeInfo 显式定义数据库返回的数据结构。 5. JDBC Connector 的配置选项 5.1 批量写入配置 通过 JdbcExecutionOptions 可调整写入策略 withBatchSize(int)设置批量写入大小默认为 500。withBatchIntervalMs(long)设置批量写入的时间间隔。withMaxRetries(int)设置写入失败后的最大重试次数。 5.2 数据库连接池 Flink JDBC Connector 默认使用单个连接执行操作。对于高并发需求可以结合 HikariCP 等连接池框架优化性能。 6. 注意事项 事务支持 默认情况下JDBC Sink 使用批量提交未显式开启事务。如果需要事务一致性可以通过 JDBC 驱动自行管理事务。 数据库性能瓶颈 数据库可能成为瓶颈建议使用批量写入和合适的索引优化性能。高写入场景可考虑切换到 Kafka、HBase 等专为实时写入设计的存储系统。 错误处理 可通过 withMaxRetries 设置重试次数。对于未能成功写入的数据可考虑使用侧输出流保存以供后续处理。 分布式读取 默认情况下Flink JDBC Source 在单线程上运行性能可能有限。可以使用分片或其他工具提升读取性能。 7. 总结 Flink JDBC Connector 是一个简单而高效的工具适用于实时计算场景下与关系型数据库的交互。无论是数据写入还是读取都可以通过简单配置快速实现。但对于高并发和大规模数据场景需要根据业务需求调整策略。
http://www.hkea.cn/news/14360112/

相关文章:

  • 一个空间放几个网站大型网站建设哪个好
  • 一级a做爰网站建筑培训学校
  • 南京cms建站网站开发前端和后端技术
  • 贵阳网站建设哪家好方舟电脑上制作网站的软件
  • 破解版 wordpress天津seo方案
  • 58做网站联系电话查企业数据要去什么网站
  • 洛阳住房和城乡建设部网站老房改造 装修公司
  • 上海海宏建设集团网站8090设计网站
  • 酒店网站如何做顺德网站建设渠道
  • 网站变exe文件怎么做婚庆网站设计说明书
  • 新乡市建设局网站wordpress运行机制
  • 岳池网站建设快手作品推广网站
  • 网站建设工具哪个好用网站图片怎么优化
  • wordpress新闻站自动采集器天津网站优化指导
  • 湖南养老院中企动力网站建设net开发网站
  • 嘉兴网站排名自己建的网站如何推广
  • 网站域名com和cn的差别在哪里企业公众号开发
  • 专注徐州网站开发排名软件
  • 大型网站开发 广州广西住建厅八大员报名网站
  • 网站建设好坏的标准山东企业站点seo
  • 湖州住房和城乡建设部网站24小时24元网站建设
  • 站长工具seo综合查询关键词电子产品玩具东莞网站建设
  • 做淘宝客需要企业网站吗商城app开发价格
  • 如何用自己网站做大电商seo线上培训班
  • 猎奇网站模板网络钟点工
  • 网页前端做购物网站的实训报告茂名建网站
  • 深圳seo网站推广报价做类似慕课网的网站要多少钱
  • 湖南做网站 在线磐石网络有什么好看的网站
  • 网络推广网站大全个人网站做音乐网要备文化
  • word怎么做网站链接网站里面的导航图标怎么做的