使用Beam Java SDK在Google数据流上安装apt get依赖项
我们目前正试图让OpenCV在Google云数据流上的Java作业中运行。不幸的是,我们无法将Dataflow使用的Docker容器替换为安装了OpenCV的容器。()如果我们使用PythonSDK,那么可以选择指定一个使用Beam Java SDK在Google数据流上安装apt get依赖项,java,opencv,google-cloud-platform,google-cloud-dataflow,apache-beam,Java,Opencv,Google Cloud Platform,Google Cloud Dataflow,Apache Beam,我们目前正试图让OpenCV在Google云数据流上的Java作业中运行。不幸的是,我们无法将Dataflow使用的Docker容器替换为安装了OpenCV的容器。()如果我们使用PythonSDK,那么可以选择指定一个setup.py文件,该文件可用于调用apt get。对于使用JavaSDK创建的作业,是否存在类似的情况 谢谢你的帮助 我想出了一个解决方案,但可能有更优雅的方法 @Setup public void setupDoFn() { ProcessBuilder pb =
setup.py
文件,该文件可用于调用apt get
。对于使用JavaSDK创建的作业,是否存在类似的情况
谢谢你的帮助 我想出了一个解决方案,但可能有更优雅的方法
@Setup
public void setupDoFn() {
ProcessBuilder pb = new ProcessBuilder("apt-get", "install", "-y", "libopencv-dev");
try {
Process p = pb.start();
String line;
BufferedReader input =
new BufferedReader
(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
logger.debug("Apt-get: " + line);
}
input.close();
// Initialize the OpenCV Libarary
nu.pattern.OpenCV.loadLibrary();
} catch (IOException e) {
e.printStackTrace();
// If we could not install OpenCV, we have to terminate the stream
System.exit(-1);
}
}
云数据流现在支持定制容器,可以安装其他库(例如OpenCV)