应该从Apache Flink Job Jar中排除什么?

时间:2016-06-17 16:00:27

标签: apache-flink

打包flink作业时,例如使用一些flink连接器和一些第三方库(用于处理),哪些依赖项最终应该放在作业jar中,以便可以使用flink-cluster启动它(“flink run” [jar文件]“)?

制作一个胖罐是理想的方法吗?

如果在scala中编写作业,是否在jar中包含了scala默认库?

我没有找到任何关于如何编写flink作业的文档。

1 个答案:

答案 0 :(得分:1)

是的,fat-jar是打包Flink作业的标准方法。不得包含Flink发行版中包含的所有内容(即Java和Scale默认库,Flink核心,......)。只有一些未包含的Flink库(以及用户定义的外部依赖项)必须包含在fat-jar中。

您可以遵循Flink文档中的此指南:https://ci.apache.org/projects/flink/flink-docs-release-1.0/apis/cluster_execution.html#linking-with-modules-not-contained-in-the-binary-distribution

这可能也会有所帮助:https://ci.apache.org/projects/flink/flink-docs-release-1.0/apis/common/index.html#program-packaging-and-distributed-execution