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.mzph.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…