Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Beam Java SDK在Google数据流上安装apt get依赖项_Java_Opencv_Google Cloud Platform_Google Cloud Dataflow_Apache Beam - Fatal编程技术网

使用Beam Java SDK在Google数据流上安装apt get依赖项

使用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 =

我们目前正试图让OpenCV在Google云数据流上的Java作业中运行。不幸的是,我们无法将Dataflow使用的Docker容器替换为安装了OpenCV的容器。()如果我们使用PythonSDK,那么可以选择指定一个
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)