【问题标题】:Running Google Dataflow job on startup在启动时运行 Google Dataflow 作业
【发布时间】:2018-01-03 00:58:45
【问题描述】:

我们的 Google Cloud Dataflow 管道程序调用了一些动态链接到 *.so 文件的库,因此要运行它,我需要设置 linux 环境变量 LD_LIBRARY_PATH。有一个 hack 可以做到这一点:https://groups.google.com/forum/#!topic/comp.lang.java.programmer/LOu18-OWAVM,但我想知道有没有办法使用一些在执行管道之前运行 shell 脚本的作业来做到这一点?

【问题讨论】:

  • 这需要在程序运行之前发生吗?那就是我们不能只在Dataflow java程序中设置环境变量?

标签: java google-app-engine cron google-cloud-platform google-cloud-dataflow


【解决方案1】:

您为此使用 JNI 吗?您可以在设置 JNI 代码之前在 Java 代码中设置环境变量吗?

您可能还想从类路径加载 .so 文件并将其传递到流中。是否可以通过这种方式链接到 .so 文件中?

请参阅此处的 filesToStage 以了解如何查找文件。 https://cloud.google.com/dataflow/pipelines/specifying-exec-params

也许这些链接中的建议也可以,您可以将 .so 文件打包到您的 jar 中: How to bundle a native library and a JNI library inside a JAR?

https://www.adamheinrich.com/blog/2012/12/how-to-load-native-jni-library-from-jar/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    相关资源
    最近更新 更多