栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Flink的项目依赖

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flink的项目依赖

一、Flink核心依赖和用户的应用程序依赖 一、Flink核心依赖

Flink本身包含系统运行所需的类和依赖项,如协调、网络、检查点、故障转移、操作、资源管理等。这些类和依赖项构成执行引擎的核心,并且在启动Flink应用程序时必须存在


	org.apache.flink
    flink-core
    1.11.0

二、用户应用程序依赖

用户应用程序依赖主要是指用户的应用程序所需的连接器和库等依赖项。用户的应用程序通常被打包成JAR包,其中包含应用程序带那么及其所需的连接器和库

二、流处理应用程序和批处理应用程序所需的依赖

每个Flink应用程序都需要最小的Flink API依赖。在手动设置项目时,需要为Java API添加以下依赖项


	org.apache.flink
    flink-streaming-java_2.11
    1.11.0
    
    provided

所有这些依赖项的作用域(scope)都被设置为“provided”,这意味着需要对其进行编译,单不应该将他们打包到项目的生产环境的JAR包中。这些依赖项是Flink核心依赖项,在任何设置中都是可用的。

建议将这些依赖项保持在“provided”的范围内。如果未将“scope”的值设置为“provided”,则会使生成的JAR包变得过大(因为它包含了所有Flink核心依赖项),从而引起依赖项版本冲突

三、Table API和SQL的依赖 一、相关依赖

与DataStream API和DataSet API开发Flink应用程序所需要的依赖不同,通过Table API、SQL开发应用程序,需要加入如下所示的依赖:


	org.apache.flink
    flink-table-api-java-bridge_2.11
    1.11.0
    provided

除此之外,如果想在IDE本地运行程序,则需要添加响应的模块,具体取决于使用的计划期

如果使用OldPlanner,则添加如下所示的依赖:


	org.apache.flink
    flink-table-planner_2.11
    1.11.0
    provided

如果使用BlinkPlanner,则添加如下所示的依赖


	org.apache.flink
    flink-table-planner-blink_2.11
    1.11.0
    provided

由于部分Table相关的代码是用Scala实现的,因此如下所示的依赖也需要添加到程序中,不管是流处理应用程序还是批处理应用程序


	org.apache.flink
    flink-stream-scala_2.11
    1.11.0
    provided

二、扩展依赖

如果想用自定义格式来解析Kafka数据,或者自定义函数,则添加如下所示的依赖。编译出来的JAR包可以直接给SQL Client使用


	org.apache.flink
    flink-table-common
    1.11.0
    provided

flink-table-common模块包含的可以扩展的接口有SerializationSchemaFactory、DeserializationSchemaFactory、ScalarFunction、TableFunction和AggregateFunction

三、在开发工具中执行的依赖

如果在开发工具中测试Flink应用程序,则需要添加如下所示的依赖,否则会报错


	org.apache.flink
    flink-clients_2.11
    1.11.0

四、Connector和Library的依赖

大多数应用程序都需要使用特定的连接器或库才能运行,如连接到Kafka、Hive等,这些连接器不是Flink核心依赖项的一部分,因此,它们必须作为依赖项被添加到应用程序中


	org.apache.flink
    flink-connector-kafka_2.11
    1.11.0

五、Hadoop的依赖

如果没有将现有的Hadoop输入/输出格式与Flink的Hadoop一起使用,则不比将Hadoop依赖项直接添加到应用程序中如果要将Flink与Hadoop一起使用,则需要具有一个包含Hadoop依赖项的Flink设置,而不是将Hadoop添加为用户的应用程序依赖项如果在IDE内进行测试或开发(如用于HDFS访问),则需要添加Hadoop依赖项,并制定依赖项的范围(Scope)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703954.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号