数据流中的 JNI

ste*_*nak 5 java-native-interface google-cloud-dataflow apache-beam

我需要在我的 Dataflow 管道中使用 JNI。JNI 使用 C++ 库,该库对其他系统库有大量外部依赖。当工作人员运行使用 C++ 库的 DoFn 时,确保库位于操作系统中应位于的位置的最佳方法是什么?

我发现DataflowPipelineOptions.setWorkerHarnessContainerImage可能允许我从Google Container Registry指定自定义 docker 映像,我可以在其上安装大量库,但文档没有说明更多。在安装的包、入口点等方面对 docker 镜像有什么要求吗?

Rya*_*ell 3

Apache Beam 最近发布了一个从 Dataflow Worker 调用子流程的示例。该解决方案在 DoFn 的 @Setup方法中动态下载二进制文件,然后为管道处理的每个记录执行该二进制文件。该解决方案还负责收集流程的输出并将故障传播到管道。