概述
万里第一步,要进行flink代码开发,第一步先整个
flink
代码工程
两种方式
一种命令行
mvn
创建,另一种直接在idea
中创建一个工程,使用mvn
的一些配置
mvn命令行创建
mvn
创建flink
工程,创建的工程里多了一些兼容性配置,后面自己使用idea创建时,进行精简及调整
# /Users/hyl/Desktop 构建的项目在此目录下
appledeMacBook-Pro:Desktop hyl$ pwd
/Users/hyl/Desktop
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-walkthrough-datastream-java \
-DarchetypeVersion=1.17.1 \
-DgroupId=frauddetection \
-DartifactId=frauddetection \
-Dversion=0.1 \
-Dpackage=spendreport \
-DinteractiveMode=false
效果如下图显示
使用idea直接创建
创建好的工程会放在gitee上,直接点链接下载源码,可以自己建立工程,将相关文件进行拷贝
gitee项目地址
代码
在此给出简要代码
public class Example {
public static void main(String[] args) throws Exception {
final StreamExecutionEnvironment env =
StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<Person> flintstones = env.fromElements(
new Person("Fred", 35),
new Person("Wilma", 35),
new Person("Pebbles", 2));
DataStream<Person> adults = flintstones.filter(new FilterFunction<Person>() {
@Override
public boolean filter(Person person) throws Exception {
return person.age >= 18;
}
});
adults.print();
env.execute();
}
public static class Person {
public String name;
public Integer age;
public Person() {}
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public String toString() {
return this.name.toString() + ": age " + this.age.toString();
}
}
}
bug
执行过程中遇到以下
bug
,解决方案如下
上图这种报错可以检查一下,是否jar包设置了provider
按下面图示操作,运行环境包括provider
即可
成功
上面两步修改之后,即可运行成功,如下图
结束
至此,工程代码创建成功