【问题标题】:Packaging multiple Apache Beam pipelines in one jar file将多个 Apache Beam 管道打包到一个 jar 文件中
【发布时间】:2019-01-04 16:08:29
【问题描述】:

我正在处理一个项目,其中包含许多用 Java 编写的 Beam 管道,需要将其打包为 jar 文件,以便从我们的作业调度程序中执行。我尝试使用构建配置文件为每个主创建一个 jar,但这看起来很混乱,而且我遇到了依赖冲突问题(使用 beam-sdks-java-io-amazon-web-services 时,它仍然在寻找对于所需的区域选项)。我还在为不断增长的 Beam 代码库寻找整体可持续的项目结构建议。

打包按计划执行的管道的最佳做法是什么?我是否应该将多个管道打包在一起,以便可以使用管道名称和管道选项参数执行每个管道,如果是,如何? (可能使用某种基于输入参数执行管道的主运行器 main)或者每个管道应该是它自己的 Maven 项目(这需要很多 jars)?想法?

【问题讨论】:

    标签: java maven executable-jar apache-beam


    【解决方案1】:

    我认为没有解决此问题的推荐方法。每种方式都有优点和缺点(例如,考虑更新管道的工作量)。

    我认为常见的 jar 解决方案适合您。例如,同一个包中有多个Beam example pipelines,而你run them by specifying the main class。它类似于您要实现的目标。

    您是否需要主主程序还取决于您的项目和环境的具体情况。只需use java -cp mainclass 就足够了,无需额外的管理代码。

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 1970-01-01
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      • 2013-12-07
      相关资源
      最近更新 更多