Flink初级编程实践——大数据基础编程实验之八
一、实验目的
(1)通过实验掌握基本的Flink编程方法。
(2)掌握用IntelliJ IDEA工具编写Flink程序的方法。
二、实验平台
(1)服务器 Ubuntu 16.04。
(2)个人电脑 macOS 10.15.6。
(3)IntelliJ IDEA 2021.2.2。
(4)Flink 1.9.1。
三、实验步骤
1.使用IntelliJ IDEA工具开发WordCount程序
在个人电脑macOS系统中安装IntelliJ IDEA,然后使用IntelliJ IDEA工具开发WordCount程序,并打包成JAR文件,提交到服务器的Flink中运行。
下面介绍如何使用IntelliJ IDEA工具开发WordCount程序。
新建一个项目:File–>New–>Project
选择Maven,Project SDK:使用服务器java对应版本。
输入项目名称:FlinkWordCount。之后完成。
打开浏览器,进入网站https://mvnrepository.com 下载需要的maven依赖。
在搜索栏输入flink java,进入第一个搜索结果Flink:Java
找到对应Flink的版本,我们使用的是1.9.1,进入该链接。
将依赖代码复制粘贴到pom.xml中。
继续按照以上步骤将flink-streaming-java,flink-clients对应1.9.1版本的依赖代码复制粘贴到pom.xml中。注意需要在所有dependency最外放上。所有依赖添加完毕之后在IDEA最右侧maven选项中选择重新加载。
最后pom.xml内容为:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>FinkWordCount</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-java -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.12</artifactId>
<version>1.9.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-clients -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.12</artifactId>
<version>1.9.1</version>
</dependency>
</dependencies>
</project>
在src–>main–>java下新建Package,输入名称之后完成。
在刚建立的Package下新建Java Class,输入名称"WordCountData"之后完成。
WordCountData.java用于提供原始数据,其内容如下:
package WordCount;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
public class WordCountData {
public static