写一个flink入门程序
时间: 2023-11-17 07:10:10 浏览: 100
好的,以下是一个简单的 Flink 入门程序。
首先,您需要安装 Flink 并设置环境变量。然后,您需要为您的项目添加 flink 的 Maven 依赖项,如下所示:
```xml
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.9.1</version>
</dependency>
```
接下来,您可以编写您的 Flink 程序,如下所示:
```java
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.util.Collector;
public class FlinkWordCount {
public static void main(String[] args) throws Exception {
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<String> text = env.fromElements(
"Hello World",
"Hello Flink",
"Hello Flink and Kafka"
);
DataSet<Tuple2<String, Integer>> counts =
text.flatMap(new FlatMapFunction<String, Tuple2<String, Integer>>() {
@Override
public void flatMap(String value, Collector<Tuple2<String, Integer>> out) {
for (String word : value.split("\\s")) {
out.collect(new Tuple2<>(word, 1));
}
}
})
.groupBy(0)
.sum(1);
counts.print();
}
}
```
这个程序中,我们首先创建了一个 ExecutionEnvironment 对象,然后使用它来读取一个包含三行字符串的数据集。接下来,我们应用一个 flatMap 函数来将每行字符串划分为单词,并为每个单词创建一个二元组。最后,我们按照单词分组,并计算每个单词出现的次数。
希望这个简单的程序能帮助您入门 Flink!
阅读全文