千家信息网

如何编写最简单的helloWorld

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关如何编写最简单的helloWorld,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实验环境JDK 1.8IDE Intellij
千家信息网最后更新 2025年12月02日如何编写最简单的helloWorld

这期内容当中小编将会给大家带来有关如何编写最简单的helloWorld,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

实验环境

JDK 1.8

IDE Intellij idea

Flink 1.8.1

实验内容

创建一个Flink简单Demo,可以从流数据中统计单词个数。

实验步骤

首先创建一个maven项目,其中pom.xml文件内容如下:

            1.8.1                            org.apache.flink            flink-java            ${flink.version}                            org.apache.flink            flink-streaming-java_2.11            ${flink.version}                            org.apache.flink            flink-streaming-scala_2.11            ${flink.version}                            org.apache.flink            flink-connector-wikiedits_2.11            ${flink.version}                                                    org.apache.maven.plugins                maven-compiler-plugin                                    8                    8                                                        org.springframework.boot                spring-boot-maven-plugin                2.1.4.RELEASE                                    wikiedits.StreamingJob                                                                                                        repackage                                                                                                    org.apache.maven.plugins                maven-surefire-plugin                                    true                                        

创建一个包com.vincent,并且创建一个类StreamingJob.java

public class WikipediaAnalysis {        public static void main(String[] args) throws Exception {        }}

Flink 程序的第一步是创建一个StreamExecutionEnvironment。StreamExecutionEnvironment可以设置参数并且导入一些外部系统的数据源。

final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

接下来创建一个外部数据源,外部数据源使用nc -l 9000 表示服务器端开启监听9000端口,并可以发送数据。

DataStream text = env.socketTextStream("192.168.152.45", 9000);

这样就添加了一个流文本数据源,有了DataStream就可以获取数据了,然后对数据进行分析:

        DataStream> dataStream = text.flatMap(new FlatMapFunction>() {            @Override            public void flatMap(String s, Collector> collector) throws Exception {                String[] tokens = s.toLowerCase().split("\\W+");                for (String token : tokens) {                    if (token.length() > 0) {                        collector.collect(new Tuple2(token, 1));                    }                }            }        }).keyBy(0).timeWindow(Time.seconds(5)).sum(1);

flatMap表示将嵌套集合转换并平铺成非嵌套集合,字符串是s,返回值是Collector>。并且根据keyBy(0)即第0个字段进行统计加一操作。.timeWindow()指定窗口大小是5秒。

所以整体代码如下:

public class StreamingJob {    public static void main(String[] args) throws Exception {        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();        DataStream text = env.socketTextStream("192.168.152.45", 9000);        DataStream> dataStream = text.flatMap(new FlatMapFunction>() {            @Override            public void flatMap(String s, Collector> collector) throws Exception {                String[] tokens = s.toLowerCase().split("\\W+");                for (String token : tokens) {                    if (token.length() > 0) {                        collector.collect(new Tuple2(token, 1));                    }                }            }        }).keyBy(0).timeWindow(Time.seconds(5)).sum(1);        dataStream.print();        // execute program        env.execute("Java WordCount from SocketTextStream Example");    }}

运行

运行main方法,然后在服务器端执行nc -l 9000 并且输入文本:

iie4bu@swarm-manager:~$ nc -l 9000a b d d e f

然后在intellij控制台将输出:

1> (b,1)3> (a,1)1> (f,1)3> (d,2)1> (e,1)

可以统计出每个单词的次数

上述就是小编为大家分享的如何编写最简单的helloWorld了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

数据 内容 数据源 分析 实验 单词 文本 服务器 服务 统计 运行 接下来 专业 个数 中小 中统 代码 内容丰富 参数 大小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 EC服务器超级战墙升什么职业好 网络安全教育讲座心得体会作文 上海电力大学的网络安全 电子商务和网络安全谁更好 跟网络安全有关的段子 王者里的服务器如何更换 网络安全海报图简单 软件开发英文app 用友软件用什么数据库好 通信及网络安全 数据库保留百万位数 营业执照软件开发包含哪些 江苏新一代软件开发检测中心 网络安全生产宣传月标语 软件开发需要 专科计算机网络技术专业就业 网络安全手抄报全校第一名 古为网络技术有限公司 服务器的功能是计算圆的面积 分布式数据库怎么编写 杰控软件开发密码 杭州软件开发上市公司 网络安全教育讲座心得体会作文 网络与服务器无法连接 网络安全学生代表发言 知网查重检测的数据库 软件安装在服务器快还是本地快 7763服务器 学习软件开发前期需要怎样学 海思嵌入式软件开发机考
0