Apache Flink是一个框架和分布式处理引擎,它被设计为可以在所有常见集群环境中运行。
Flink的特点:
1.同时支持高吞吐、低延迟
2.支持有状态计算
3.支持事件时间
4.支持高可用性配置
5.提供了不同层级的API
Flink的主要组件:
1.储存层
2.调度层
3.计算层
4.工具层(Flink提供了面向流处理(DataStream API)和批处理(DataSetAPI)的不同计算接口)
Flink程序构成:
source:数据源部分
Transformation:数据转换部分
Sink:数据输出部分
-----------------------------------------------------------------------------------------------------------------------------
Maven 是用于java项目管理的一个工具,这个工具可以帮我们实现:
项目jar包依赖管理,项目打包、测试等功能。
Maven 本身是有一套自己的项目架构,所以需要按照它的架构进行项目研发
maven中央仓库(java相关的所有jar包)地址为:https://mvnrepository.com/tags/maven
在生成Maven项目中的pom.xml中添加以下内容,引入Scala和Flink的依赖库。若该文件中默认引用了Scala库,则将其修改为需要使用的版本:
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.12</artifactId>
<version>1.14.5</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.12</artifactId>
<version>1.14.5</version>
</dependency>
</dependencies>