繁体   English   中英

Flink:包装可执行的非flink jar 在flink集群中运行

[英]Flink: Wrap executable non-flink jar to run it in a flink cluster

假设我有一个可执行的 jar 文件,里面没有任何 flink 代码,我的工作是让它与 flink 一起分发。 我已经通过在代码中的某处创建和执行 StreamExecutionEnvironment 并将 jar 的代码放置在 flink 运算符(即 map 函数)中来完成此操作。

昨天,我被要求做类似的工作,但付出的努力很小。 他们告诉我要找到一种方法来包装这个无 flink jar,使其可以由 flink 集群执行(无需像我上面那样注入代码和更改 jar)。 有没有办法做到这一点? 文档state 支持从打包的 jar 执行“程序必须使用通过 StreamExecutionEnvironment.getExecutionEnvironment() 获得的环境”。 难道没有别的办法了吗?

我现在唯一的猜测是包装 jar 的入口点。 将它放在 flink 运算符中,但不幸的是我不知道这个 jar 确实

您可以在 jar 中编写仅 map 程序和 package 程序。 在 map 中,您通过反射提供的 jar 执行 main。

您的小型包装器可以放入 Flink 库中,以便其他 jars 可重用,或者您将其他 jar 添加到分布式缓存中。

顺便说一句,我还没有完全理解用例,或者我觉得很奇怪,因为我不清楚并行性应该如何工作。 很抱歉,如果答案没有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM