IDEA編寫flinkSQL(快速體驗版本,--無需配置環境)

相關資料

文檔內容鏈接地址
datagen生成器https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/table/datagen/
print 生成器https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/table/print/

準備工作

優點就是下載個idea就能體驗,無需配置的環境(如 數據源等)
1、idea 開發工具
2、創建 maven 項目 – archetype 選擇quickstart 表示java開發

java代碼

代碼邏輯
1、采用datagen 生成器,作為數據 source
2、采用print 作為打印器,作為sink 直接輸出

package org.example;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;public class FlinkSqlDemo {public static void main(String[] args) throws Exception {// 創建執行環境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);// 創建輸入表(使用DataGen生成測試數據)String sourceDDL = "CREATE TABLE user_behavior (\n" +"    user_id BIGINT,\n" +"    behavior STRING,\n" +"    ts TIMESTAMP(3)\n" +") WITH (\n" +"    'connector' = 'datagen',\n" +"    'rows-per-second' = '1',\n" +"    'fields.user_id.kind' = 'random',\n" +"    'fields.user_id.min' = '1',\n" +"    'fields.user_id.max' = '2',\n" +"    'fields.behavior.length' = '2'\n" +")";// 創建輸出表(打印結果)String sinkDDL = "CREATE TABLE print_table (\n" +"    behavior STRING,\n" +"    cnt BIGINT\n" +") WITH (\n" +"    'connector' = 'print'\n" +")";// 執行DDLtableEnv.executeSql(sourceDDL);tableEnv.executeSql(sinkDDL);// 執行查詢并插入結果Table resultTable = tableEnv.sqlQuery("SELECT behavior, COUNT(*) AS cnt " +"FROM user_behavior " +"GROUP BY behavior");// 插入到輸出表resultTable.executeInsert("print_table").await();// 執行任務(流式任務需要保持運行)env.execute("Flink SQL Demo");}
}

pom依賴配置

`
4.0.0

<groupId>org.example</groupId>
<artifactId>flinklearn</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><flink.version>1.17.1</flink.version>
</properties><dependencies><!-- Flink Core --><dependency><groupId>org.apache.flink</groupId><artifactId>flink-java</artifactId><version>${flink.version}</version></dependency><!-- Flink實時流--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-java</artifactId><version>${flink.version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-clients</artifactId><version>${flink.version}</version></dependency><!-- Flink Table --><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-planner_2.12</artifactId><version>${flink.version}</version></dependency><dependency><groupId>com.ververica</groupId><artifactId>flink-sql-connector-mysql-cdc</artifactId><version>2.0.1</version></dependency>
</dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.example.FlinkSqlDemo</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins>
</build>

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

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

相關文章

基于AI技術的高速公路交通引流系統設計與應用研究

基于AI技術的高速公路交通引流系統設計與應用研究 1. 研究背景與意義 1.1 交通系統演化脈絡 1.1.1 發展階段劃分 機械化時代&#xff08;1950-1990&#xff09;&#xff1a;固定式信號控制信息化時代&#xff08;1991-2010&#xff09;&#xff1a;SCATS/SCOOT系統智能化時代…

NEGATIVE LABEL GUIDED OOD DETECTION WITH PRETRAINED VISION-LANGUAGE MODELS

1. 介紹: 這篇論文也是基于CLIP通過后處理的方法實現的OOD的檢測,但是設計點在于,之前的方法是使用的ID的類別,這篇工作是通過添加一些在語義上非常不同于ID的類別的外分布類來做的OOD檢測。 CLIP做OOD檢測的這個系列里面我看的以及記錄的第一篇就是MCM的方法,這也是確實是…

Linux 網絡基礎三 (數據鏈路層協議:以太網協議、ARP 協議)

一、以太網 兩個不同局域網的主機傳遞數據并不是直接傳遞的&#xff0c;而是通過路由器 “一跳一跳” 的傳遞過去。 跨網絡傳輸的本質&#xff1a;由無數個局域網&#xff08;子網&#xff09;轉發的結果。 所以&#xff0c;要理解數據跨網絡轉發原理就要先理解一個局域網中數…

Azure Data Factory ETL設計與調度最佳實踐

一、引言 在Azure Data Factory (ADF) 中&#xff0c;調度和設計ETL&#xff08;抽取、轉換、加載&#xff09;過程需要綜合考量多方面因素&#xff0c;以確保數據處理高效、可擴展、可靠且易于維護。以下將詳細介紹相關關鍵考慮因素、最佳實踐&#xff0c;并輔以具體示例說明…

非序列實現MEMS聚焦功能

zemax非序列模式下有MEMS,但是沒有對應的代碼。無法修改成自己需要的功能 以下是實現MEMS聚焦功能: #include <windows.h> #include <cmath> #include <stdio.h> #include <string.h> #include <algorithm> #undef max #undef min#define D…

android studio sdk unavailable和Android 安裝時報錯:SDK emulator directory is missing

md 網上說的都是更換proxy代理什么的&#xff0c;換網的&#xff0c;還有一些二其他亂七八糟的&#xff0c;根本沒用&#xff0c;感覺很多就是解決不了問題&#xff0c;還賊多賊一致&#xff0c;同質化&#xff0c;感覺很坑人&#xff0c;讓人覺得他們和我的一樣的&#xff0c;…

三維重建模塊VR,3DCursor,MPR與VR的坐標轉換

MPR里的reslicecursor 的坐標與 vtkimage 坐標一致。 但三維窗格里的vtkvolume 的坐標是相對坐標&#xff0c;坐標值依然是MM單位。 用中心點的偏移量比較容易實現&#xff0c;交互中Reslicercursor中心點 距離 vtkimagedata 的中心點 的偏移量&#xff0c;用于vtkvolume即可…

Python Cookbook-6.9 快速復制對象

任務 為了使用 copy.copy&#xff0c;需要實現特殊方法__copy__。而且你的類的__init__比較耗時所以你希望能夠繞過它并獲得一個“空的”未初始化的類實例。 解決方案 下面的解決方案可同時適用于新風格和經典類: def empty_copy(obj):class Empty(obj.__class__):def __in…

kubernets集群的安裝-node節點安裝-(簡單可用)-超詳細

一、kubernetes 1、簡介 kubernetes&#xff0c;簡稱K8s&#xff08;庫伯內特&#xff09;&#xff0c;是用8代替名字中間的8個字符“ubernete”而成的縮寫 云計算的三種主要服務模式——基礎設施即服務&#xff08;IaaS&#xff09;、平臺即服務&#xff08;PaaS&#xff0…

【Linux學習筆記】進程的fork創建 exit終止 wait等待

【Linux學習筆記】進程的fork創建 exit終止 wait等待 &#x1f525;個人主頁&#xff1a;大白的編程日記 &#x1f525;專欄&#xff1a;Linux學習筆記 文章目錄 【Linux學習筆記】進程的fork創建 exit終止 wait等待前言1.進程創建1.1 fork函數初識1.2fork函數返回值1.3寫時拷…

鴻蒙應用開發證書考試的一點想法

一、介紹&#xff1a; 直接上圖 二、體驗后的想法&#xff1a; 1.知識點在指南API參考最佳實踐里面找 2.沒有明確說明考試不能查第1點的文檔&#xff0c;但是考試只有1個小時&#xff0c;合理分配時間 3.切屏三次后自動提交要注意&#xff0c;每月3次機會下月又有3次機會&a…

含錫廢水處理的經濟效益

主要體現在成本節約和資源回收兩方面&#xff0c;具體收益因處理工藝、廢水濃度及規模差異而不同。以下結合不同技術路線進行量化分析&#xff1a; 一、直接經濟效益 資源回收收益 金屬錫回收&#xff1a; 若廢水中錫濃度為100 mg/L&#xff0c;日處理量100噸&#xff0c;則每…

Base64編碼原理:二進制數據與文本的轉換技術

&#x1f504; Base64編碼原理&#xff1a;二進制數據與文本的轉換技術 開發者的數據編碼困境 作為開發者&#xff0c;你是否曾遇到這些與Base64相關的挑戰&#xff1a; &#x1f4ca; 需要在JSON中傳輸二進制數據&#xff0c;但不確定如何正確編碼&#x1f5bc;? 想要在HT…

day49—雙指針+貪心—驗證回文串(LeetCode-680)

題目描述 給你一個字符串 s&#xff0c;最多 可以從中刪除一個字符。 請你判斷 s 是否能成為回文字符串&#xff1a;如果能&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 示例 1&#xff1a; 輸入&#xff1a;s "aba" 輸出&#xff1a;true…

Kubernetes(k8s) 集群的快速部署

實驗目的 本實驗旨在通過 Kubeadm 工具快速部署一個 Kubernetes 1.28.2 集群&#xff0c;包含 1 個 Master 節點和 2 個 Worker 節點&#xff0c;并驗證集群的基本功能。實驗涉及以下關鍵步驟&#xff1a; 環境準備&#xff1a;配置主機名、關閉防火墻、禁用 SELinux、設置時區…

7年經驗的Java程序員的技術知識概覽(及分階段學習計劃、資源推薦、職業發展建議)

&#x1f91f;致敬讀者 &#x1f7e9;感謝閱讀&#x1f7e6;笑口常開&#x1f7ea;生日快樂?早點睡覺 &#x1f4d8;博主相關 &#x1f7e7;博主信息&#x1f7e8;博客首頁&#x1f7eb;專欄推薦&#x1f7e5;活動信息 文章目錄 **一、技術棧全景與深度要求****1. 核心Java…

28、.NET 中元數據是什么?

在.NET中&#xff0c;元數據&#xff08;Metadata&#xff09;是描述程序結構和類型信息的二進制數據集合&#xff0c;它是.NET運行時&#xff08;CLR&#xff09;的核心基礎組件之一&#xff0c;用于支持程序加載、類型解析、反射、安全校驗等關鍵功能。以下是其核心特性和作用…

Idea中實用設置和插件

目錄 一、Idea使用插件 1.Fitten Code智能提示 2.MyBatisCodeHelperPro 3.HighlightBracketPair? 4.Rainbow Brackets Lite 5.GitToolBox(存在付費) 6.MavenHelperPro 7.Search In Repository 8.VisualGC(存在付費) 9.vo2dto 10.Key Promoter X 11.CodeGlance…

Linux新手快速入門指南

Linux新手快速入門指南&#xff1a;從零到熟練的簡明路線圖 對于剛接觸Linux的新手而言&#xff0c;這個開源世界既充滿機遇又令人望而生畏。本文將通過系統化的學習路徑和實戰技巧&#xff0c;幫助您快速突破入門難關&#xff0c;掌握Linux核心技能。 一、突破認知誤區&#x…

交叉編譯paho.mqtt.c和paho.mqtt.cpp(MQTT客戶端)

一、參考資料 【MQTT】paho.mqtt.cpp 庫的 介紹、下載、交叉編譯、MQTT客戶端例子源碼-CSDN博客 【MQTT】paho.mqtt.c 庫的“介紹、下載、交叉編譯” 詳解&#xff0c;以及編寫MQTT客戶端例子源碼-CSDN博客 二、準備工作 1. 重要說明 paho.mqtt.cpp與paho.mqtt.c&#xff…