1、项目构建设置(要求使用Maven 3.0.4以上版本、安装java8.x)
maven 构建项目
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.10.0
或者
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.10.0 \
-DgroupId=org.myorg.quickstart \
-DartifactId=com.dahua \
-Dversion=0.1 \
-Dpackage=org.myorg.quickstart \
-DinteractiveMode=false
这次我用intellij导入flink项目时候,执行项目发现会报错(flink 1.7.2没有这个问题,这次执行1.10.0有这个问题)
java.lang.NoClassDefFoundError: org/apache/flink/streaming/api/datastream/DataStream;
解决方法:见链接https://blog.csdn.net/weixin_38842096/article/details/85723335,在models处加上flink-1.10.0-bin-scala_2.11.tgz的lib依赖
2、基础api概念
延时计算:flink程序是延时计算的,当执行main方法时,并不立即执行数据的加载和转化,而是创建每个操作并将其加入到程序的执行计划中,并对执行计划进行优化,当执行环境调用execute()方法,flink才会执行时候才执行各个操作。
3、Datastream api
4、Dataset api(batch)
5、Table Api& SQL
6、数据类型以及序列化
7、管理执行
8、类库