0

現在、Google Cloud Dataflow上のJavaジョブでOpenCVを実行しようとしています。残念ながら、データフローが使用しているDockerコンテナをOpenCVがインストールされているコンテナに置き換えることはできません。 (See other question)Python SDKを使用した場合、apt-getを呼び出すために使用できるsetup.pyファイルを指定するオプションがあります。 Java SDKで作成されたジョブに類似したものはありますか?Beam Java SDKを使用したGoogle Dataflowへのapt-get依存関係のインストール

ご協力いただきありがとうございます。

答えて

0

私は解決策を考え出しましたが、これを行うためのよりエレガントな方法があるかもしれません。

@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); 
    } 

} 
関連する問題