Flink本地idea运行环境配置webui

Flink本地idea运行环境配置webui

1.添加依赖
        <dependency><groupId>org.apache.flink</groupId><artifactId>flink-runtime-web_2.11</artifactId><version>1.13.6</version><scope>provided</scope></dependency>
2. 代码如下
public class FlinkWithLocalWebui {public static void main(String[] args) throws Exception {Configuration conf = new Configuration();conf.setString(RestOptions.BIND_PORT, "8081"); // 设置WebUI端口为8081StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf); // 创建带有WebUI的本地流执行环境env.setParallelism(1); // 设置并行度为1DataStream<Map<String, String>> stream = env.addSource(new SourceFunction<Map<String, String>>() {@Overridepublic void run(SourceContext<Map<String, String>> ctx) throws Exception {while (true) {HashMap<String, String> hashMap = new HashMap<>();hashMap.put("ID", new Random().nextInt(3) + 1 + ""); // 随机生成IDhashMap.put("AMT", "1"); // 设置AMT为1System.out.println("生产数据:" + hashMap); // 打印生产的数据ctx.collect(hashMap); // 发射数据Thread.sleep(1000); // 每隔1秒发送一次数据}}@Overridepublic void cancel() {}})// 按照ID字段进行分区.keyBy(new KeySelector<Map<String, String>, String>() {@Overridepublic String getKey(Map<String, String> value) throws Exception {return value.get("ID");}})// 对AMT字段进行累加.reduce(new ReduceFunction<Map<String, String>>() {@Overridepublic Map<String, String> reduce(Map<String, String> value1, Map<String, String> value2) throws Exception {HashMap<String, String> hashMap = new HashMap<>();hashMap.put("ID", value1.get("ID"));hashMap.put("AMT", Integer.valueOf(value1.get("AMT")) + Integer.valueOf(value2.get("AMT")) + "");return hashMap;}});// 输出数据流stream.print();// 执行作业并指定作业名称env.execute("job-" + FlinkWithLocalWebui.class.getSimpleName());}
}
//这段代码是一个基于Apache Flink的实时数据处理程序。
//程序创建了一个带有WebUI的本地流执行环境,设置了并行度为1。
//通过自定义的SourceFunction生成随机数据流,数据包含ID和AMT字段,每秒发送一次数据。
//然后对数据流按照ID字段进行分区,并对AMT字段进行累加操作。
//最后,将处理后的数据流打印输出,并执行作业。
//整体流程是一个简单的实时数据处理流水线,用于生成、处理和输出数据流。
3. 执行结果:
生产数据:{AMT=1, ID=3}
{AMT=1, ID=3}
生产数据:{AMT=1, ID=1}
{AMT=1, ID=1}
生产数据:{AMT=1, ID=2}
{AMT=1, ID=2}
...
生产数据:{AMT=1, ID=2}
{AMT=9, ID=2}
生产数据:{AMT=1, ID=3}
{AMT=13, ID=3}
生产数据:{AMT=1, ID=3}
...
4. 访问Webui,截图如下:

地址:http://localhost:8081/#/overview

http://localhost:8081/#/overview

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/333683.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Qt Creator】跨平台的C++图形用户界面应用程序开发框架---QT

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1.互联网的核心岗位以及职…

【Chapter5】死锁与饥饿,计算机操作系统教程,第四版,左万利,王英

文章目录 1.1 什么是死锁1.2 死锁的类型1.2.1 竞争资源引起的死锁1.2.2 进程间通信引起的死锁1.2.3 其他原因引起的死锁 1.3 死锁产生必要条件1.4 死锁的处理策略1.5 死锁的预防1.5.1 破坏资源独占条件1.5.2 破坏不可剥夺条件1.5.3 破坏保持申请条件1.5.4 破坏循环等待条件 1.6…

Spring Boot 统一数据返回格式

在 Spring Boot 项目中&#xff0c;统一的数据格式返回是一种良好的实践&#xff0c;它提高了代码的可维护性和一致性&#xff0c;并改善了客户端与服务端之间的通信。本文将介绍如何在 Spring Boot 中实现统一的数据格式返回。 1 为什么需要统一数据返回格式 ⽅便前端程序员更…

Reader类的使用方法和技巧,你掌握了吗?

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

vscode中使用conda虚拟环境

每一次配置环境&#xff0c;真的巨烦&#xff0c;网上的资料一堆还得一个个尝试&#xff0c;遂进行整理 1.准备安装好Anaconda 附带一篇测试教程&#xff0c;安装anaconda 2.准备安装vscode 安装地址&#xff1a;Visual Studio Code 3.创建Conda环境 搜索框搜索Anaconda…

音视频及H264/H256编码相关原理

一、音视频封装格式原理&#xff1a; 我们播放的视频文件一般都是用一种封装格式封装起来的&#xff0c;封装格式的作用是什么呢&#xff1f;一般视频文件里不光有视频&#xff0c;还有音频&#xff0c;封装格式的作用就是把视频和音频打包起来。 所以我们先要解封装格式&#…

香橙派OrangePi AIpro上手初体验

一、前言 非常感谢能够收到CSDN和香橙派的OrangePi AIpro开发板评测活动的邀请&#xff1b;收到的OrangePi AIpro实物如下所示&#xff1a; 二、OrangePi AIpro介绍 通过查询香橙派官网可以了解到OrangePi AIpro的相关信息如下&#xff1a;OrangePi AIPro 开发板是香橙派联合…

【在Postman中,如果后端返回的是String类型的数据但不是JSON格式,报错】

在Postman中&#xff0c;如果后端返回的是String类型的数据但不是JSON格式 问题描述解决办法 postman后端返回的String数据,不是json,怎么设置结果的接收&#xff1f; 问题描述 在postman中测试接口&#xff0c;报错Error&#xff1a;Abort&#xff0c;或者显示返回数据校验失…

C++入门——日期类的实现

前言 生活中&#xff0c;我们时不时会遇到算天数的问题&#xff1a;高考倒计时、考研倒计时、过年倒计时...... 想解决这些问题无非就是实现一个年月日的计算器&#xff0c;那要怎么来实现呢&#xff1f; 下面就让我们来探究一下。 1.了解日期计算器的需求 1.1 表面需求 …

Tailwind CSS快速入门

文章目录 初识安装Tailwindcss试用安装快速书写技巧扩展好处Todo 初识 只需书写 HTML 代码&#xff0c;无需书写 CSS&#xff0c;即可快速构建美观的网站 Tailwind CSS 是一个功能类优先的 CSS 框架&#xff0c;它通过提供大量的原子类&#xff08;utility classes&#xff09;…

FTP协议——LightFTP安装(Linux)

1、简介 LightFTP是一个轻量级的FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;客户端软件。FTP是一种用于在网络上传输文件的标准协议&#xff0c;允许用户通过TCP/IP网络&#xff08;如互联网&#xff09;在计算机之间进行文件传输。 2、步骤…

APM2.8下载固件的方法(两种办法详解)

1.把APM飞控用安卓手机的USB线插入电脑。 选择COM口&#xff0c;不要选择auto&#xff0c;如果你没有COM口说明你驱动安装有问题。 波特率115200。点击相应的图标就可以下载固件到飞控板。 请注意&#xff1a;烧录APM必须选择INSTALL FIRMWARE LEAGACY,第一个是用于刷pixhawk的…

常用时序逻辑电路模块:移位寄存器

寄存器与移位寄存器 寄存器&#xff1a;数字系统中用来存储二进制数据的逻辑器件。存储N位二进制数据的寄存器需要N个触发器组成。 移位功能&#xff1a;存储代码在脉冲作用下依次左移或右移。 移位寄存器&#xff1a; 移位寄存器中的数据可以在移位脉冲作用下依次逐位右移…

Vue3_创建项目

目录 一、创建vue项目 1.下载vue 2.进入刚才创建的项目 3.安装依赖 4.运行项目 ​5.打包项目放入生产环境 二、vue项目组成 1.项目文件结构 2.项目重要文件 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、C…

unity制作app(9)--拍照 相册 上传照片

1.传输照片&#xff08;任何较大的数据&#xff09;都需要扩展服务器的内存空间。 2.还需要base64编码 2.1客户端发送位置的编码 2.2服务器接收部分的代码

Visual Studio中调试信息格式参数:/Z7、/Zi、/ZI参数

一般的调试信息都保存在pdb文件中。 Z7参数表示这些调试信息保存到OBJ目标文件中&#xff0c;这样的好处是不需要单独分发PDB文件给下游。Zi就是把所有的调试信息都保存在pdb文件中&#xff0c;以缩小发布文件的大小。ZI和Zi类似&#xff0c;但是增加了热重载的能力&#xff1…

数据库|基于T-SQL向数据库数据表中添加、修改、删除数据

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 前边学习了基于T-SQL创建数据库和创建数据表&#xff0c; 《数据库|基于T-SQL创建数据库》 《数据库|基于T-SQL创建数据表》 接下来学习向创建好的数据表中添加数据&#xff0c;以下为学习笔记。 01 通过T-SQL向数据表…

1.5.3 基于Java配置方式使用Spring MVC

本实战教程主要介绍了如何使用Java配置方式来使用Spring MVC框架。相较于XML配置方式&#xff0c;Java配置方式提供了一种更为简洁和灵活的配置方法。 项目创建与配置 创建一个Jakarta EE项目&#xff0c;并设置项目名称和位置。选择Jakarta EE 10版本&#xff0c;不添加依赖&a…

【StableDiffusion】SD1.4、1.5、2.0、2.1 和 SDXL0.9-1.0、SDXL turbo 等的区别

总览 1.基础sd base model家族&#xff1a;SD1.4、SD1.5、SD1.5-LCM、SD2.0、SD2.0-768、SD2.1、SD2.1-768、SD2.1-UNCLIP 2.升级sdxl base model家族&#xff1a;SDXL0.9、SDXL1.0、SDXL1.0-LCM、SDXL-DISTILLED、SDXL-TURBO 3.专门用于视频生成的 SVD 家族&#xff1a;SVD、…

鸿蒙知识点总结

1 Stage模型应用程序包结构 在开发态&#xff0c;一个应用包含一个或者多个Module&#xff0c;可以在DevEco Studio工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元&#xff0c;包含了源代码、资源文件、第三方库及应用/服务配置文件&#xff0c;每一…