概述
万里第一步,要进行flink代码开发,第一步先整个
flink
代码工程
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>() {@Overridepublic 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
即可
成功
上面两步修改之后,即可运行成功,如下图
结束
至此,工程代码创建成功