一、依赖下载地址Maven Repository
https://mvnrepository.com/

二、Flink的项目依赖
2.1Flink 核心依赖
Flink 核心依赖项包含系统运行所需的类和依赖项,在启动Flink应用程序时必须存在,
不包含任何连接器或库,保证尽可能小,避免依赖项冲突。

<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-core -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-core</artifactId>
    <version>1.11.1</version>
</dependency>

<!-- alibaba开发 -->
<!-- https://mvnrepository.com/artifact/com.alibaba.blink/flink-core -->
<!--<dependency>
    <groupId>com.alibaba.blink</groupId>
    <artifactId>flink-core</artifactId>
    <version>blink-3.7.0</version>
</dependency>-->

2.2用户应用程序依赖
指程序所需的连接器,库和工具等依赖

三、流处理和批处理依赖
注意:flink-streaming-java_2.12 中2.12为scala版本

<scope>provided</scope>
//provided 表示项目打包时不将该依赖打包进去,可选值:compile 、 runtime 、system 、test
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-java_2.12</artifactId>
    <version>1.11.1</version>
    <scope>provided</scope>
</dependency>

四、Table API 和 SQL 依赖

<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-table-api-java-bridge -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-api-java-bridge_2.12</artifactId>
    <version>1.11.1</version>
    <scope>provided</scope>
</dependency>

4.1在ide本地运行需添加相应模块

  1. OldPlanner 计划器
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-table-planner -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-planner_2.11</artifactId>
    <version>1.11.1</version>
    <scope>provided</scope>
</dependency>

  1. BlinkPlanner 计划器
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-table-planner-blink -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-planner-blink_2.11</artifactId>
    <version>1.11.1</version>
    <scope>test</scope>
</dependency>

由于部分Table相关代码由scala实现,所以添加部分Table 相关的 Scala 依赖

<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-scala -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-scala_2.11</artifactId>
    <version>1.11.1</version>
    <scope>provided</scope>
</dependency>

五、扩展依赖
5.1如自定义格式解析kafka数据,或自定义函数

 <!--Table的公共依赖-->
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-table-common -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-common</artifactId>
    <version>1.11.1</version>
    <scope>provided</scope>
</dependency>

5.2开发工具中测试Flink应用程序

<!--Flink客户端依赖-->
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-clients -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-clients_2.11</artifactId>
    <version>1.11.1</version>
</dependency>

5.3连接器、工具和数据库依赖

<!-- flink兼容hadoop -->
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-hadoop-compatibility -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-hadoop-compatibility_2.11</artifactId>
    <version>1.11.1</version>
    <scope>test</scope>
</dependency>

<!--Flink的kafka连接器依赖 -->
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kafka -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kafka_2.11</artifactId>
    <version>1.11.1</version>
</dependency>
<!--处理Json数据-->
    <!-- https://mvnrepository.com/artifact/org.apache.flink/flink-json -->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-json</artifactId>
      <version>1.9.0</version>
    </dependency>

****flink-connector-

六、总结:
总结内容仅供参考,建议修改

<!-- Apache Flink dependencies -->
    <!-- These dependencies are provided, because they should not be packaged into the JAR file. -->
    <!--Flink 核心依赖-->
   <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-core</artifactId>
      <version>1.11.1</version>
    </dependency>

    <!--流处理和批处理应用程序所需依赖-->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-streaming-java_2.11</artifactId>
      <version>1.11.1</version>
    </dependency>

    <!--FlinkTable API 、SQL 依赖-->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-api-java-bridge_2.11</artifactId>
      <version>1.11.1</version>
      <scope>provided</scope>
    </dependency>

    <!--计划器-->
    <!--blinkPlanner 依赖-->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-planner-blink_2.11</artifactId>
      <version>1.11.0</version>
      <scope>provided</scope>
    </dependency>
    <!--OldPlanner 依赖-->
    <!--<dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-planner_2.11</artifactId>
      <version>1.11.0</version>
      <scope>provided</scope>
    </dependency>-->

    <!--部分Table 相关的 Scala 依赖-->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-streaming-scala_2.11</artifactId>
      <version>1.11.0</version>
      <scope>provided</scope>
    </dependency>

    <!--Table的公共依赖-->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-common</artifactId>
      <version>1.11.0</version>
      <scope>provided</scope>
    </dependency>

    <!--Flink客户端依赖-->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-clients_2.11</artifactId>
      <version>1.11.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kafka -->
    <!--Flink的kafka连接器依赖 -->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-connector-kafka_2.12</artifactId>
      <version>1.9.0</version>
    </dependency>

    <!--处理Json数据-->
    <!-- https://mvnrepository.com/artifact/org.apache.flink/flink-json -->
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-json</artifactId>
      <version>1.9.0</version>
    </dependency>

    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-java</artifactId>
      <version>1.11.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-cep_2.11</artifactId>
      <version>1.9.0</version>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.34</version>
    </dependency>

  </dependencies>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐