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();}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164347.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164347.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164347.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

投資房產的理由與好處,投資買房的方法與技巧

一、教程描述 本套買房教程,大小2.15G,共有23個文件。 二、教程目錄 00.她23歲北漂月薪600,7年后50萬在京買了第一套房,如今身價上千萬.mpg 01.這個游戲,有些人輸了所有錢,一輩子也不明白這個道理.mpg …

CSGO搬磚項目全面講解 ,CSGO搬磚注意事項

steam/csgo搬磚第二課之如何選品 Steam/CSGO游戲搬磚全套操作流程之如何選品(第二課) 一個游戲只要能搬,只要體量不夠大,很快就會貨幣價格暴跌,直接涼涼。市面上的能穩定手動搬磚的游戲越來越少。所以對于兼職賺點外快…

【Spring】 IoCDI

回顧 企業命名規范 大駝峰:BookDao(首字母都大寫) 類名 小駝峰:bookDao(第一個字母小寫) 方法名 蛇形:book_dao(小寫下劃線_) 數據庫 串形:book-dao(小寫連字符-) 項目文件夾 各種注解 學習Spring MVC, 其實就是學習各種Web開發需要?的到注解 a. RequestMapping: 路由…

[Linux] shell腳本的函數和數組

一、函數 1.1 函數的定義 函數是腳本的別名 作用:函數可以避免代碼重復,可讀性強,可以簡化腳本。 格式:函數名(){腳本} 1.2 如何使用函數 1.定義 2.調用 函數一定要先定義再使用 例子&#xff1a…

編譯原理Lab1-用FLEX構造C-Minus-f詞法分析器

HNU編譯原理lab1實驗–根據cminux-f的詞法補全lexical_analyer.l文件,完成詞法分析器。 本文沒有添加任何圖片,但是以復制輸出的形式展現出來了實驗結果。 實驗要求: 根據cminux-f的此法補全lexical_analyer.l文件,完成詞法分析…

國家超級計算濟南中心低代碼平臺應用實踐

摘要:文章主要介紹了濟南超算使用低代碼平臺明道云解決了一系列業務問題,包括資產管理、人員與機構管理、流程制度管理等。通過明道云平臺,濟南超算成功地將不同部門的業務信息進行整合,提高了工作效率和管理水平。文章還強調了明…

計算機端口

前言 計算機端口(Port)是一種用于在計算機網絡中標識特定服務或應用程序的機制。 端口是一個數字,范圍從0到65535,用于將網絡通信分配給不同的應用程序或服務。 在 Internet 協議套件(TCP/IP)中&#xff0…

MG-HSF

作者未提供代碼

Go語言中結構體的使用和示例

結構體(簡稱struct)用于創建不同數據類型的成員集合,放入一個單一的變量中。雖然數組用于將相同數據類型的多個值存儲在單一變量中,但結構體用于將不同數據類型的多個值存儲在單一變量中。結構體對于將數據組合在一起以創建記錄非…

openGL之紋理 :第二課

#include "glew.h" #include "glfw3.h" #include "SOIL2.h"//如何解析輸入的數據流 0,1,2 分三部分 GLchar * vertextSrc " #version 330 core \n \layout (location 0) in vec3 position; \layout (location 1) in vec3 col…

【精選】??通道熱點加持的LW-ResNet:小麥病害智能診斷與防治系統

1.研究背景與意義 小麥是世界上最重要的糧食作物之一,但由于病害的侵襲,小麥產量和質量受到了嚴重的威脅。因此,開發一種高效準確的小麥病害識別分類防治系統對于保障糧食安全和農業可持續發展具有重要意義。 傳統的小麥病害識別分類方法主…

Feign

目錄 RestTemplate方式調用存在的問題: 定義和使用Feign客戶端 自定義Feign的配置 性能優化 Feign的最佳實踐 Feign的使用步驟: 1、引入依賴 2、添加EnableFeignClients注解 3、編寫FeignClient接口 4、使用FeignClient中定義的方法代替RestTemplate Feign的…

什么是遷移學習

1 遷移學習概述 遷移學習(Transfer Learning)是機器學習中的一種方法,它允許模型將從一個任務中學到的知識應用到另一個相關的任務中。這種方法在數據稀缺的情況下尤為有用,因為它減少了對大量標記數據的需求。遷移學習已成為深度…

Node使用Nvm安裝雙版本切換(node兩個版本同時用怎么辦?不同的項目Node版本要求不一樣怎么辦?)

先把node.js卸載 開始—>添加刪除程序—>node npm -v node -v //檢查是否還存在,卸載成功就行了NVM下載 github下載 百度網盤下載 打開安裝包以管理員身份安裝,要是記得這個路徑并且必須全是英文 使用nvm安裝兩個使用的node版本 cmd以管理員…

計算機組成原理2

1.浮點數 2.IEEE 754 3.存儲器的性能指標 4.存儲器的層次化結構 主存類似手機運行內存8g ,輔存類似手機內存128g.... 輔存必須先通過主存才能被cpu接收,就例如微信打開那個月亮小人界面兩三秒就是主存在讀取輔存的程序然后被cpu接收運行。 5.主存儲…

Greenplum的數據庫年齡檢查處理

概述 Greenplum是基于Postgresql數據庫的分布式數據庫,而PG數據庫在事務及多版本并發控制的實現方式上很特別,采用的是遞增事務id的方法,事務id大的事務,認為比較新,反之事務id小,認為比較舊。 事務id的上…

經典的回溯算法題leetcode組合問題整理及思路代碼詳解

目錄 組合問題 leetcode77題.組合 leetcode216題.組合總和III leetcode40題.組合總和II leetcode39題.組合總和 倘若各位不太清楚回溯算法可以去看我上一篇文章。 回溯算法詳解-CSDN博客 組合問題 一般組合和排列類的問題我們都會轉化成一個樹形問題,更便于…

26. 刪除有序數組中的重復項(remove-duplicates-from-sorted-array)

26. 刪除有序數組中的重復項(remove-duplicates-from-sorted-array) 給你一個 非嚴格遞增排列 的數組 nums ,請你** 原地** 刪除重復出現的元素,使每個元素 只出現一次 ,返回刪除后數組的新長度。元素的 相對順序 應該保持 一致 。然后返回 …

批量創建表空間數據文件(DM8:達夢數據庫)

DM8:達夢數據庫 - - 批量創建表空間數據文件 環境介紹1 批量創建表空間SQL2 達夢數據庫學習使用列表 環境介紹 在某些場景(分區表子表)需要批量創建表空間,給不同的表使用,以下代碼是批量創建表空間的SQL語句; 1 批量創建表空間SQL --創建 24個數據表空間,每個表空間有3個數…

強化學習小筆記 —— 如何選擇合適的更新步長

在強化學習中,動作價值函數的更新可以使用增量法,如下所示: Q k 1 k ∑ i 1 k r i 1 k ( r k ∑ i 1 k ? 1 r i ) 1 k ( r k ( k ? 1 ) Q k ? 1 ) 1 k ( r k k Q k ? 1 ? Q k ? 1 ) Q k ? 1 1 k [ r k ? Q k ? 1 ] \beg…