本教程主要来自flink1.9教程
- 设置Maven项目
- 编写Flink程序
- 在集群上运行并写入kafka
在本指南中,我们将从头开始,从设置Flink项目到在Flink集群上运行流分析程序。
Wikipedia提供了一个IRC频道,其中记录了对Wiki的所有编辑。我们将在Flink中读取此通道,并计算每个用户在给定时间窗口内编辑的字节数。这很容易使用Flink在几分钟内实现,但它将为您提供一个良好的基础,从而开始自己构建更复杂的分析程序。
设置Maven项目
我们将使用Flink Maven Archetype创建项目结构。更多详细信息,请查看 Java API Quickstart,出于我们的目的,运行命令:
$ mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.9.0 \
-DgroupId=wiki-edits \
-DartifactId=wiki-edits \
-Dversion=0.1 \
-Dpackage=wikiedits \
-DinteractiveMode=false
你可以编辑groupId
, artifactId
和 package,使用上面的参数,Maven将要创建以下的项目结构:
$ tree wiki-edits
wiki-edits/
├── pom.xml
└── src
└── main
├── java
│ └── wikiedits
│ ├── BatchJob.java
│ └── StreamingJob.java
└── resources
└── log4j.properties
我们的pom.xml文件已经在根目录中添加了Flink依赖项,并且在src/main/java下有几个flink项目实例。我们可以删除示例程序,因为我们将从头开始:
$ rm wiki-edits/src/main/java/wikiedits/*.java
最后,我们需要将Flink Wikipedia连接器添加为依赖关系,以便我们可以在我们的程序中使用它。编辑pom.xml的dependencies
部分,使它看起来像这样:
<dependencies>
<dependency>
&l