Flink中如何搭建开发环境与数据

这篇文章将为大家详细讲解有关Flink中如何搭建开发环境与数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

松桃ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

 示例环境

java.version: 1.8.x
flink.version: 1.11.1

创建工程

idea中创建项目,项目名称:flink-examples

pom.xml



    4.0.0
    com.flink.examples
    flink-examples
    pom
    1.0-SNAPSHOT
    
        stream
        connectors
    

    
        UTF-8
        UTF-8
        1.8
        1.11.1
        8
    

    
        
            org.apache.flink
            flink-streaming-java_2.11
            ${flink.version}
        
        
            org.apache.flink
            flink-clients_2.11
            ${flink.version}
        
        
            org.apache.flink
            flink-table-api-java-bridge_2.11
            ${flink.version}
        
        
            org.apache.flink
            flink-table-planner-blink_2.11
            ${flink.version}
        
        
            org.apache.flink
            flink-table-planner_2.11
            ${flink.version}
            
        
        
            org.apache.flink
            flink-json
            ${flink.version}
            
        
        
            com.google.code.gson
            gson
            2.8.6
        
        
            org.apache.logging.log4j
            log4j-core
            2.11.1
        
    

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    UTF-8
                    ${compiler.version}
                    ${compiler.version}
                
            

            
                org.apache.maven.plugins
                maven-shade-plugin
                
                    
                        package
                        
                            shade
                        
                    
                
            
        
    

项目分两个模块

flink-examples
|----connectors(中件间连接器示例模块)
|----examples(模拟电商订单数据并推送到kafka中,以及flink核心数据流处理客户端)
|----stream(数据流与算子、方法、窗口等示例模块)
|----tableapi(table&sql与中件间的使用示例模块)
|----web(获取flink算子计算后的存储结果,提供给前端展示模块)

connectors模块

pom.xml



    
        com.flink.examples
        flink-examples
        1.0-SNAPSHOT
    
    4.0.0
    connectors

    
        
        
            org.apache.flink
            flink-jdbc_2.11
            1.10.1
        

        
        
            mysql
            mysql-connector-java
            5.1.47
        
        
        
            org.apache.flink
            flink-connector-kafka_2.11
            ${flink.version}
        
        
        
            org.apache.bahir
            flink-connector-redis_2.11
            1.0
        
        
        
            org.apache.flink
            flink-connector-rabbitmq_2.11
            ${flink.version}
        
        
        
            org.apache.flink
            flink-connector-elasticsearch7_2.11
            ${flink.version}
        
        
            org.apache.flink
            flink-sql-connector-elasticsearch7_2.11
            ${flink.version}
        
    

stream模块

pom.xml



    
        flink-examples
        com.flink.examples
        1.0-SNAPSHOT
    
    4.0.0
    stream
    
        
            org.apache.flink
            flink-table-common
            ${flink.version}
            
        
    

项目全局示例图

Flink中如何搭建开发环境与数据

示例数据类

后续所有算子演示的数据,均来自此类来提供公共数据。

import org.apache.flink.api.java.tuple.Tuple3;
import java.util.Arrays;
import java.util.List;

/**
 * @Description 公共示例数据
 */
public class DataSource {

    /**
     * 示例数据集合
     * Tuple3 是一个固定3个属性变量的实体类,分别用f0,f1,f2表示三个构造传参与变量
     * @return
     */
    public static List> getTuple3ToList(){
        //Tuple3 = Tuple3<姓名,性别(man男,girl女),年龄>
        return Arrays.asList(
                new Tuple3<>("张三", "man", 20),
                new Tuple3<>("李四", "girl", 24),
                new Tuple3<>("王五", "man", 29),
                new Tuple3<>("刘六", "girl", 32),
                new Tuple3<>("伍七", "girl", 18),
                new Tuple3<>("吴八", "man", 30)
        );
    }

}

关于Flink中如何搭建开发环境与数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文名称:Flink中如何搭建开发环境与数据
URL链接:http://csdahua.cn/article/gsshsc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流