ElasticSearch Sink
安装elasticSearch
- 下载安装包
https://www.elastic.co/cn/downloads/elasticsearch elasticsearch-7.10.1-darwin-x86_64.tar.gz
如果想选择其他版本
引入依赖
<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-elasticsearch7_2.11</artifactId> <version>1.11.0</version> </dependency>
代码分析
- 源码
https://gitee.com/pingfanrenbiji/Flink-UserBehaviorAnalysis/blob/master/FlinkTutorial/src/main/scala/com/xdl/apitest/sinktest/EsSinkTest.scala
- 分析
确认是否保存进入es
- 查询所有索引
curl -XGET 'http://127.0.0.1:9200/_cat/indices?v'
Flink中的Windows
Windows概述
一般真实的流都是无解的 怎么处理无解的数据? 可以把无限的流进行切分 得到有限的数据流进行处理 也就是得到了有界流 窗口是将无限流切割为有限流的一种方式 它会将流数据分发到有限大小的通(bucket)中进行分析
Windows类型
- 时间窗口(Time window)
- 将数据依据固定的窗口长度对数据进行切分
- 时间堆积 窗口长度固定 没有重叠
- 滚动事件窗口(Tumbling Windows)
滚动窗口分配器将每个元素分配到一个指定窗口的窗口中 滚动窗口有一个固定的大小 并且不会出现重叠 例如指定了5分钟大小的滚动窗口 窗口的创建如何所示