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

Flink Table API 读写MySQL

Flink Table API 读写 MySQL

import org.apache.flink.connector.jdbc.table.JdbcConnectorOptions;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.api.EnvironmentSettings;
import org.apache.flink.table.api.Schema;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.TableDescriptor;
import org.apache.flink.table.api.TableEnvironment;
import org.apache.flink.table.api.TableResult;import static org.apache.flink.table.api.Expressions.$;public class TableApiMysql {public static void main(String[] args) {EnvironmentSettings settings = EnvironmentSettings.newInstance().inBatchMode().build();TableEnvironment tableEnv = TableEnvironment.create(settings);Schema schema = Schema.newBuilder().column("user_id", DataTypes.BIGINT()).column("user_name", DataTypes.STRING()).build();TableDescriptor tableDescriptor = TableDescriptor.forConnector("jdbc").option(JdbcConnectorOptions.URL, "jdbc:mysql://localhost:3306/tmp").option(JdbcConnectorOptions.USERNAME, "root").option(JdbcConnectorOptions.PASSWORD, "123456").option(JdbcConnectorOptions.TABLE_NAME, "test").schema(schema).build();tableEnv.createTable("source", tableDescriptor);// 通过API执行selectSystem.out.println("select format 1: ");tableEnv.from("source").select($("user_id"), $("user_name")).execute().print();// 写入mysql user_id是自增主键tableEnv.executeSql("insert into source(user_name) select 'hello'");// 直接SQL执行select *System.out.println("select format 2: ");Table table = tableEnv.sqlQuery("select * from source");TableResult execute = table.execute();execute.print();}
}

相关文章:

Flink Table API 读写MySQL

Flink Table API 读写 MySQL import org.apache.flink.connector.jdbc.table.JdbcConnectorOptions; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.api.DataTypes; import org.apache.flink.table.api.Envi…...

Nginx 开源版安装

下载 tar.gz安装包,上传。 解压 [rootlocalhost ~]# tar zxvf nginx-1.21.6.tar.gz nginx-1.21.6/ nginx-1.21.6/auto/ nginx-1.21.6/conf/ nginx-1.21.6/contrib/ nginx-1.21.6/src/ ... ...安装gcc [rootlocalhost nginx-1.21.6]# yum install -y gcc 已加载插件…...

『亚马逊云科技产品测评』活动征文|低成本搭建物联网服务器thingsboard

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道。 0. 环境 - ubuntu22(注意4G内存勉强够,部署完…...

【Pytorch】Visualization of Feature Maps(3)

学习参考来自: Image Style Transform–关于图像风格迁移的介绍github:https://github.com/wmn7/ML_Practice/tree/master/2019_06_03 文章目录 风格迁移 风格迁移 风格迁移出处: 《A Neural Algorithm of Artistic Style》(ar…...

人工智能对我们的生活影响

目录 前言 一、人工智能的领域 二、人工智能的应用 三、对人工智能的看法 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN&#x1f4…...

Mysql存储引擎分类

Mysql存储引擎分类: 在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。 InnoDB: 是Mysql的默认存储引擎,支持事务、外键。如果应用对事务的完整性有…...

基于Python+TensorFlow+Django的交通标志识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 随着交通网络的不断扩展和智能交通系统的发展,交通标志的自动识别变得愈发重要。本项目旨在利用Python编…...

【Java 进阶篇】Jedis:让Java与Redis轻松对话的利器

在现代软件开发中,缓存系统是提高系统性能的常见手段之一,而Redis作为一个高性能的缓存数据库,被广泛应用于各类系统。如果你是Java开发者,那么使用Jedis库可以让你轻松地与Redis进行交互。本文将带你深入了解Jedis的快速入门&…...

【数据分享】我国12.5米分辨率的DEM地形数据(免费获取/地理坐标系)

DEM地形数据是我们在各种研究和设计中经常使用的数据!之前我们分享过500米分辨率的DEM地形数据、90米分辨率的DEM地形数据、30米分辨率的DEM地形数据(均可查看之前的文章获悉详情)。 本次我们为大家带来的是分辨率为12.5m的DEM地形数据&#…...

C++设计模式之策略模式

策略模式 介绍示例示例测试运行结果应用场景优点总结 介绍 策略模式是一种行为设计模式。在策略模式中,可以创建一些独立的类来封装不同的算法,每一个类封装一个具体的算法,每一个封装算法的类叫做策略(Strategy),为了保证这些策…...

spring-webflux的一些概念的理解

Spring5的webflux可以支持高吞吐量,使用相同的资源可以处理更加多的请求,它将会成为未来技术的趋势,但是相对于学习其他的框架相比,它的学习曲线很高,综合了很多现有的技术,即使按照教程学习能编写代码&…...

OpenCV快速入门:特征点检测与匹配

文章目录 前言一、角点检测1.1 角点特征1.1.1 角点特征概念1.1.2 角点的特点1.1.3 关键点绘制代码实现1.1.4 函数解析 1.2 Harris角点检测1.2.1 Harris角点检测原理1.2.2 Harris角点检测公式1.2.3 代码实现1.2.4 函数解析 1.3 Shi-Tomasi角点检测1.3.1 Shi-Tomasi角点检测原理1…...

旋转的数组

分享今天看到的一个题目,不同思路解法 题目 思路1:时间复杂度0(N*k) void rotate(int *a,int N,int k)//N为数组元素个数 { while(k--) { int tema[N-1]; for(int rightN-2;right>0;right--) { a[right1]a[right]; } a[0]tem; …...

Hive VS Spark

spark是一个计算引擎,hive是一个存储框架。他们之间的关系就像发动机组与加油站之间的关系。 类似于spark的计算引擎还有很多,像mapreduce,flink等等。 类似于hive的存储框架也是数不胜数,比如pig。 最底层的存储往往都是使用h…...

SAST静态分析工具所支持的规则

综合国内外SAST工具支持的规则,这些规则包括了国际标准、国内标准、行业标准等,这里我罗列了一下,这些规则对应的标准集合。 评估一款SAST工具时,支持规则集的多少,且每个规则集是否为全集,或者接近全集&am…...

torch 的数据加载 Datasets DataLoaders

点赞收藏关注! 如需要转载,请注明出处! torch的模型加载有两种方式: Datasets & DataLoaders torch本身可以提供两数据加载函数: torch.utils.data.DataLoader()和torch.utils.data.Datase…...

【Promise】某个异步方法执行结束后 在执行下面方法

使用Promise ,当 layer.msg(查询成功) 这个方法执行结束后 ,下面代码才会执行 let thas this async function showMessage() {await new Promise(resolve > layer.msg(查询成功, resolve));// 这里的代码将在 layer.msg 执行结束后执行thas.isGuaran…...

任意文件下载漏洞(CVE-2021-44983)

简介 CVE-2021-44983是Taocms内容管理系统中的一个安全漏洞,可以追溯到版本3.0.1。该漏洞主要源于在登录后台后,文件管理栏存在任意文件下载漏洞。简言之,这个漏洞可能让攻击者通过特定的请求下载系统中的任意文件,包括但不限于敏…...

C++(20):通过source_location实现日志函数

C++20中引入了std::source_location,用来描述函数调用的上下文信息。 其主要的成员函数如下: line():获取行号。column():获取列号。file_name():获取文件名。function_name():获取函数域名。#include <iostream> #include <string_view> #include <sour…...

【数据结构】树与二叉树(廿二):树和森林的遍历——后根遍历(递归算法PostOrder、非递归算法NPO)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语 5.2 二叉树5.3 树5.3.1 树的存储结构1. 理论基础2. 典型实例3. Father链接结构4. 儿子链表链接结构5. 左儿子右兄弟链接结构 5.3.2 获取结点的算法5.3.3 树和森林的遍历1. 先根遍历&#xff08;递归、非…...

用Python实战电商物流预测:从MathorCup赛题到真实业务场景的迁移指南

从数学建模到工业实践&#xff1a;Python驱动的电商物流预测与优化实战 当电商大促的订单如潮水般涌来时&#xff0c;物流网络就像一台精密运转的机器&#xff0c;任何一个齿轮的卡顿都可能导致整个系统崩溃。2023年MathorCup竞赛的C题恰好捕捉到了这个行业痛点——如何通过预测…...

Modbus RTU主站轮询128个从站太慢?实测优化策略与并发请求的真相

Modbus RTU主站轮询128个从站太慢&#xff1f;实测优化策略与并发请求的真相 在工业自动化现场&#xff0c;当Modbus RTU网络规模扩大到128个从站时&#xff0c;许多工程师都会遇到一个共同难题&#xff1a;轮询周期过长导致数据更新延迟。某汽车生产线曾因传感器数据延迟2秒导…...

intv_ai_mk11镜像免配置价值:Gradio界面已预设常用系统角色(程序员/作家/教师/顾问)

intv_ai_mk11镜像免配置价值&#xff1a;Gradio界面已预设常用系统角色&#xff08;程序员/作家/教师/顾问&#xff09; 1. 开箱即用的AI对话体验 intv_ai_mk11 AI对话机器人是一个基于7B参数Llama架构的智能助手&#xff0c;特别适合那些希望快速获得AI能力而不想折腾配置的…...

嵌入式软件开发系列文章——1 ARM架构下Cortex-M 内核单片机开发环境搭建—1-3 STM32CubeMX

1-3 STM32CubeMX 文章目录1-3 STM32CubeMX1-3.1 STM32CubeMX 简介1-3.2 软件获取1-3.2.1 Java 获取1-3.2.2 STM32CubeMX 获取1-3.3 软件安装1-3.2.1 Java 安装1-3.2.2 STM32CubeMX 安装1-3.4 STM32固件包简介1-3.5 STM32固件包获取1-3.6 STM32固件包安装1-3.5 参考文献1-3.1 ST…...

Cadence IC618实战:手把手教你搭建MOS共源放大器并完成DC/AC仿真(附SMIC 0.18um PDK)

Cadence IC618实战&#xff1a;从零构建MOS共源放大器与仿真全流程解析 在模拟IC设计领域&#xff0c;共源放大器作为最基础的增益单元&#xff0c;其设计质量直接影响整个信号链路的性能。本文将基于Cadence IC618平台和SMIC 0.18μm PDK&#xff0c;完整演示从环境配置到高级…...

从OTA设计反推:为什么你的电流镜性能不达标?可能是Cascode没选对

从OTA性能瓶颈溯源&#xff1a;Cascode电流镜选型实战指南 在模拟CMOS集成电路设计中&#xff0c;电流镜如同血液循环系统般维持着整个电路的"生命体征"。当我们精心设计的运算跨导放大器(OTA)出现增益不足、输出摆幅受限或电源抑制比(PSRR)下降时&#xff0c;往往需…...

Wan2.2-VACE-Fun-A14B 模型全解析:技术、能力与实战应用

一、模型简介Wan2.2-VACE-Fun-A14B 是阿里巴巴通义实验室&#xff08;Alibaba PAI&#xff09;于 2025 年第三季度正式开源的新一代视频生成与编辑专用大模型&#xff0c;隶属于 Wan2.2 系列视频生成模型矩阵&#xff0c;是基于 Wan2.2-T2V-A14B 基础模型&#xff0c;融合 VACE…...

新手必备!掌握这 7 个爬虫软件,三分钟搞定批量数据采集

学会这7个爬虫软件&#xff0c;三分钟搞定数据采集 爬虫技术是数据采集的核心手段&#xff0c;涉及到http请求、html解析、正则处理等技术&#xff0c;算是比较复杂的编程开发&#xff0c;对于很多人来说是不低的门槛。 我最常用Python来实现爬虫&#xff0c;因为有很多的库可…...

2026山东大学项目实训4月23日

V7 阶段我主要负责整体版本目标设计、范围收敛和阶段验收把控。到 V6 为止&#xff0c;项目已经能够完成 GitHub OAuth 授权、仓库绑定、Webhook 诊断和基础审查闭环&#xff0c;但如果从真实使用的角度去看&#xff0c;系统还缺少一个很重要的能力&#xff0c;就是“出问题之后…...

【大白话说Java面试题】【Java基础篇】第7题:HashMap的get流程是什么

第7题&#xff1a;HashMap的get流程是什么 &#x1f4da; 回答&#xff1a; 步骤1&#xff1a;判断集合是否为空 调用HashMap的get方法时&#xff0c;首先会根据key计算哈希值。如果集合为空&#xff08;即数组尚未初始化&#xff09;&#xff0c;直接返回null。 步骤2&#…...