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

Flink hello world

下载并且解压Flink

Downloads | Apache Flink

启动Flink.

$ ./bin/start-cluster.sh 
Starting cluster.
Starting standalonesession daemon on host harrydeMacBook-Pro.local.
Starting taskexecutor daemon on host harrydeMacBook-Pro.local.

访问localhost:8081

Flink 的版本附带了许多示例作业。您可以快速将这些应用程序之一部署到正在运行的集群。

$ ./bin/flink run examples/streaming/WordCount.jar
$ tail log/flink-*-taskexecutor-*.out(nymph,1)(in,3)(thy,1)(orisons,1)(be,4)(all,2)(my,1)(sins,1)(remember,1)(d,4)

Stop Flink

$ ./bin/stop-cluster.sh

自己编写java 代码运行第一个flink hello world.

pom.xml

     <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><flink.version>1.17.1</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><artifactId>flink-java</artifactId><version>${flink.version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-java</artifactId><version>${flink.version}</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>17</source><target>17</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.3.0</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><mainClass>org.example.HelloWorld</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>

java 代码

package org.example;import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;public class HelloWorld {public static void main(String[] args) throws Exception {// Set up the execution environmentStreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// Create a stream of dataDataStream<String> dataStream = env.fromElements("Hello", "World", "Flink");// Apply transformation: split each word by spaceDataStream<Tuple2<String, Integer>> wordCounts = dataStream.flatMap(new Splitter()).keyBy(0).sum(1);// Print the resultwordCounts.print();// Execute the Flink jobenv.execute("Hello World Example");}// Custom FlatMapFunction to split each sentence into wordspublic static final class Splitter implements FlatMapFunction<String, Tuple2<String, Integer>> {@Overridepublic void flatMap(String sentence, Collector<Tuple2<String, Integer>> out) {// Split the sentence into wordsfor (String word : sentence.split(" ")) {// Emit the word with a count of 1out.collect(new Tuple2<>(word, 1));}}}
}

maven打包成jar

mvn package

利用flink CLI 运行jar

./bin/flink run -c your.package.FlinkJob /path/to/your/jar

执行后你能在localhost:8081上发现你的job相关信息。


参考

Local Installation | Apache Flink

相关文章:

Flink hello world

下载并且解压Flink Downloads | Apache Flink 启动Flink. $ ./bin/start-cluster.sh Starting cluster. Starting standalonesession daemon on host harrydeMacBook-Pro.local. Starting taskexecutor daemon on host harrydeMacBook-Pro.local. 访问localhost:8081 Flin…...

STL之map容器代码详解

基础概念 简介&#xff1a; map中所有元素都是pair。pair中第一个元素为key&#xff08;键值&#xff09;&#xff0c;起到索引作用&#xff0c;第二个元素为value&#xff08;实值&#xff09;。所有元素都会根据元素的键值自动排序。 本质&#xff1a; map/multimap属于关…...

使用GRU进行天气变化的时间序列预测

本文基于最适合入门的100个深度学习项目的学习记录&#xff0c;同时在Google clolab上面是实现&#xff0c;文末有资源连接 天气变化的时间序列的难点 天气变化的时间序列预测涉及到了一系列复杂的挑战&#xff0c;主要是因为天气系统的高度动态性和非线性特征。以下是几个主…...

uniapp 小程序AP配网

一、TCPSocket.js 封装TCP协议 class socket {constructor() {this.connection {};}// 创建一个TCP实例establish(monitor) {this.connection wx.createTCPSocket();this.connection.connect({ address: "000.000.0.0", port: 6800 });}// 发送消息connect(messag…...

Stable Diffusion ———LDM、SD 1.0, 1.5, 2.0、SDXL、SDXL-Turbo等版本之间关系现原理详解

一、简介 2021年5月&#xff0c;OpenAI发表了《扩散模型超越GANs》的文章&#xff0c;标志着扩散模型&#xff08;Diffusion Models&#xff0c;DM&#xff09;在图像生成领域开始超越传统的GAN模型&#xff0c;进一步推动了DM的应用。 然而&#xff0c;早期的DM直接作用于像…...

GESP5级T1真题 [202309] 因数分解——O(sqrt(n))的时间复杂度,值得一看

描述 每个正整数都可以分解成素数的乘积&#xff0c;例如&#xff1a;62*3、2022 *5 现在&#xff0c;给定一个正整数N&#xff0c;请按要求输出它的因数分解式。 输入描述 输入第一行&#xff0c;包含一个正整数N。约定2<N<10^12 输出描述 输出一行&#xff0c;为N…...

Stable Diffusion 3报告

报告链接&#xff1a;https://stability.ai/news/stable-diffusion-3-research-paper 文章目录 要点表现架构细节通过重新加权改善整流流量Scaling Rectified Flow Transformer Models灵活的文本编码器RF相关论文 要点 发布研究论文&#xff0c;深入探讨Stable Diffuison 3的…...

一个足球粉丝该怎么建个个人博客?

做一个个人博客第一步该怎么做&#xff1f; 好多零基础的同学们不知道怎么迈出第一步。 那么&#xff0c;就找一个现成的模板学一学呗&#xff0c;毕竟我们是高贵的Ctrl c v 工程师。 但是这样也有个问题&#xff0c;那就是&#xff0c;那些模板都&#xff0c;太&#xff01;…...

缩放算法优化步骤详解

添加链接描述 背景 假设数据存放在在unsigned char* m_pData 里面&#xff0c;宽和高分别是&#xff1a;m_nDataWidth m_nDataHeight 给定缩放比例&#xff1a;fXZoom fYZoom&#xff0c;返回缩放后的unsigned char* dataZoom 这里采用最简单的缩放算法即&#xff1a; 根据比…...

[axios]使用指南

axios使用指南 Axios 是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中。 axios 安装 npm安装 $ npm install axios 使用cdn <script src"https://unpkg.com/axios/dist/axios.min.js"></script> axios API axios(config)…...

HTML5基础2

drag 可以把拖放事件拆分成4个步骤 设置元素为可拖放。为了使元素可拖动&#xff0c;把 draggable 属性设置为 true 。 <img draggable"true"> 拖动什么。ondragstart 和 setData() const dragestart (ev)>{ev.dataTransfer.setData(play,ev.target.id)} …...

数据结构与算法-希尔排序

引言 在计算机科学中&#xff0c;数据结构和算法是构建高效软件系统的基石。而排序算法作为算法领域的重要组成部分&#xff0c;一直在各种应用场景中发挥着关键作用。今天我们将聚焦于一种基于插入排序的改进版本——希尔排序&#xff08;Shell Sort&#xff09;&#xff0c;深…...

蓝桥杯算法错题记录

这里写目录标题 本文还在跟新&#xff0c;最新更新时间24/3/91. nextInt () next() nextLine() 的注意事项2 . 转换数据类型int ,string,charint -> string , charstring -> int ,charchar -> int , string 进制转换十六进制转化为10 进制 最大公约数 本文还在跟新&am…...

【Python 图像处理 PIL 系列 13 -- PIL 及 Image.convert 函数介绍】

文章目录 Python PIL 介绍PIL 使用介绍PIL convert 介绍PIL convert 使用示例 Python PIL 介绍 PIL 是 Python Image Library 的简称。PIL 库中提供了诸多用来处理图片的模块&#xff0c;可以对图片做类似于 PS&#xff08;Photoshop&#xff09; 的编辑。比如&#xff1a;改变…...

使用docker datascience-notebook进行数据分析

Jupyter/datascience-notebook 简介 jupyter/datascience-notebook 是 Docker Hub 上可用的 Docker 镜像&#xff1a;https://hub.docker.com/。该镜像提供了一个开箱即用的环境&#xff0c;用于数据科学任务&#xff0c;包括&#xff1a; Jupyter Notebook: 一个基于 Web 的…...

VR全景技术在VR看房中有哪些应用,能带来哪些好处

引言&#xff1a; 随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在房地产行业中的应用也越来越广泛。其中&#xff0c;VR全景技术在VR看房中的运用尤为突出。今天&#xff0c;让我们一起深入探讨VR全景技术在VR看房中的应用及其带来的种种好处。 一、…...

Winform窗体随着屏幕的DPI缩放,会引起窗体变形及字体变形,superTabControl标签字体大小不匹配

一、前言 superTabControl做的浏览器标签(cefsharp)在缩放比例(125%,150%时字体不协调) 物联网浏览器,定制浏览器,多媒体浏览器(支持H264)参考栏目文章即可 二、配置参数 app.manifest参数 dpiAware =true <application xmlns="urn:schemas-microsoft-c…...

java网络编程 01 IP,端口,域名,TCP/UDP, InetAddress

01.IP 要想让网络中的计算机能够互相通信&#xff0c;必须为计算机指定一个标识号&#xff0c;通过这个标识号来指定要接受数据的计算机和识别发送的计算机&#xff0c;而IP地址就是这个标识号&#xff0c;也就是设备的标识。 ip地址组成&#xff1a; ip地址分类&#xff1a;…...

第十篇 - 如何利用人工智能技术做好营销流量整形管理?(Traffic Shaping)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市​​​​​​​。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先…...

npm ERR! errno -13具体问题处理

npm ERR! errno -13具体问题处理 出现问题的报错 npm ERR! code EACCES npm ERR! syscall open npm ERR! path /Users/xxxx/.npm/_cache/index-v5/c6/06/xxxxx npm ERR! errno -13 npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! …...

别再只会插上就用了!手把手教你用V4L2在Ubuntu上精细调校USB摄像头(亮度/曝光/白平衡)

从参数盲调到精准控制&#xff1a;V4L2在Ubuntu下的USB摄像头画质调优实战 当你用USB摄像头进行视频会议时&#xff0c;是否遇到过画面忽明忽暗&#xff1f;当你在OpenCV项目中进行图像识别时&#xff0c;是否被偏色问题困扰&#xff1f;大多数Linux用户止步于"摄像头能工…...

HR必备:OpenClaw批量筛选简历、发送面试通知,优化招聘流程

OpenClaw&#xff1a;重塑高效招聘&#xff0c;批量筛选简历与智能发送面试通知的实践指南引言&#xff1a;数字化时代招聘的挑战与机遇在当今竞争激烈的人才市场中&#xff0c;招聘已成为企业发展的核心驱动力之一。人力资源部门&#xff08;HR&#xff09;肩负着寻找、吸引、…...

【Qt】Qt5.15在线安装避坑指南:从代理配置到组件选择的完整实践

1. Qt5.15在线安装前的准备工作 Qt作为跨平台开发框架&#xff0c;5.15版本开始只提供在线安装方式。我在实际项目中多次安装Qt5.15&#xff0c;发现前期准备不足会导致安装过程异常缓慢甚至失败。这里分享几个关键准备步骤&#xff1a; 首先需要确认系统环境。Qt5.15对Windows…...

不止于通信:用HC32的UART和Timer1玩转自定义数据帧与轻量级协议解析

超越基础通信&#xff1a;HC32自定义数据帧与轻量级协议实战指南 在嵌入式开发领域&#xff0c;UART通信就像空气一样无处不在却又容易被忽视。大多数教程止步于"如何收发字节"&#xff0c;但真正的工程挑战始于如何让这些字节变得有意义。想象一下智能家居场景&…...

树莓派4B上Miniconda3保姆级安装教程(含清华源配置与常见SSL报错解决)

树莓派4B上Miniconda3保姆级安装教程&#xff08;含清华源配置与常见SSL报错解决&#xff09; 刚拿到树莓派4B的开发者们&#xff0c;往往迫不及待想搭建Python开发环境。但ARM架构的特殊性、网络问题、权限设置和SSL证书验证等坑&#xff0c;常常让新手寸步难行。本文将手把手…...

别再让用户清缓存了!React/Vue项目里这个ServiceWorker配置不改,上线就踩坑

彻底解决React/Vue项目线上缓存问题的工程化实践 每次发布新版本后&#xff0c;用户反馈页面不更新&#xff1f;这可能是ServiceWorker在"好心办坏事"。作为前端开发者&#xff0c;我们都遇到过这样的场景&#xff1a;本地测试一切正常&#xff0c;但上线后用户却看不…...

毕业设计实战:基于Java+SpringBoot与微信小程序的企业门户系统设计与开发

1. 项目背景与技术选型 最近几年&#xff0c;企业门户系统开发的技术栈发生了很大变化。记得5年前我做第一个企业站项目时&#xff0c;用的还是PHPMySQL组合&#xff0c;现在JavaSpringBoot已经成为企业级开发的主流选择。这次毕业设计选择这个技术组合&#xff0c;不仅符合当前…...

3大核心功能揭秘:Snap Hutao如何让你的原神冒险效率翻倍?

3大核心功能揭秘&#xff1a;Snap Hutao如何让你的原神冒险效率翻倍&#xff1f; 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 &#x1f9f0; / Multifunctional Open-Source Genshin Impact Toolkit &#x1f9f0; 项目地址: https://gitcode.com/GitHub_Trendi…...

实时人脸检测实战指南:YOLOv5-face解决密集场景下人脸识别难题

实时人脸检测实战指南&#xff1a;YOLOv5-face解决密集场景下人脸识别难题 【免费下载链接】yolov5-face YOLO5Face: Why Reinventing a Face Detector (https://arxiv.org/abs/2105.12931) ECCV Workshops 2022) 项目地址: https://gitcode.com/gh_mirrors/yo/yolov5-face …...

5分钟掌握Winhance中文版:Windows系统优化终极指南

5分钟掌握Winhance中文版&#xff1a;Windows系统优化终极指南 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-zh_CN…...