Flink实战5-Flink全局参数传递实现Kafka数据源对接落地Elasticsearch_Sink与过程Search

背景

  • 适用于配置化传入Flink全局参数;
  • 项目起源于公司多数据源对接,此Demo只是其中一种,整个过程是公司前端部门因为各方渠道传入的不同数据,风控的业务方需要保留进行规则查询;数据流转过程就是Kafka接入不同数据源,按照不同的要求进行es的直接存储或者查询拼接后的存储;

摘要

关键字

  • Flink_Elasticsearch查询、Elasticsearch_Sink、Flink全局配置化参数;

设计

  • 整个过程比较简单,每个类中注释很详细;
  • Kafka_Source对接数据源;
  • Mapper_Processing进行数据处理、数据解析、数据查询;
  • Elasticsearch_Search是一些es查询封装的方法;
  • Elasticsearch_Sink进行数据存储落地;
  • Elasticsearch_Storage是一些es存储的封装方法;

理解

  • eg:Flink流中的查询和存储;

    1. 目前的示例全部都是Flink初始化的时候创建连接;
  1. 操作过程中进行数据具体查询和存储,所有数据对接都可以使用这种方式;

实现

说明

此处的处理没有写成项目中使用的比较复杂的可配置化的形式,也就是只针对单表测试表的操作;

依赖

<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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值