背景
- 适用于配置化传入Flink全局参数;
- 项目起源于公司多数据源对接,此Demo只是其中一种,整个过程是公司前端部门因为各方渠道传入的不同数据,风控的业务方需要保留进行规则查询;数据流转过程就是Kafka接入不同数据源,按照不同的要求进行es的直接存储或者查询拼接后的存储;
摘要
关键字
- Flink_Elasticsearch查询、Elasticsearch_Sink、Flink全局配置化参数;
设计
- 整个过程比较简单,每个类中注释很详细;
- Kafka_Source对接数据源;
- Mapper_Processing进行数据处理、数据解析、数据查询;
- Elasticsearch_Search是一些es查询封装的方法;
- Elasticsearch_Sink进行数据存储落地;
- Elasticsearch_Storage是一些es存储的封装方法;
理解
-
eg:Flink流中的查询和存储;
- 目前的示例全部都是Flink初始化的时候创建连接;
- 操作过程中进行数据具体查询和存储,所有数据对接都可以使用这种方式;
实现
说明
此处的处理没有写成项目中使用的比较复杂的可配置化的形式,也就是只针对单表测试表的操作;
依赖
<scala.main.version>2.11</scala.main.version>
<flink.version>1.10.1</flink.version>
<es.version>7.6.1</es.version>
<!--flink-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-scala_${scala.main.version}</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_${scala.main.version}</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka_${scala.main.version}</artifactId>
<version>1.10.1</version>
</dependency>
<!--flink table & sql-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-api-scala-bridge_${scala.main.version}</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-planner_${scala.main.version}</artifactId>
<version>${flink.version}</version>
</dependency>
<!--导入flink连接redis的文件-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-redis_${scala.main.version}</artifactId>
<version>${flink.redis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-elasticsearch6_${scala.main.version}</artifactId>
<version>${flink.version}</version>
</dependency>
<!--rocksdb 与flink 进行整合依赖-->
<dependency>
<groupId>org.apache.flink


2791

被折叠的 条评论
为什么被折叠?



