簡體   English   中英

使用 Beam Java SDK 在 Google Dataflow 上安裝 apt-get 依賴項

[英]Install apt-get dependencies on Google Dataflow with Beam Java SDK

我們目前正在嘗試讓 OpenCV 在 Google Cloud Dataflow 上的 Java 作業中運行。 不幸的是,我們無法將 Dataflow 使用的 Docker 容器替換為安裝了 OpenCV 的容器。 請參閱其他問題)如果我們使用 Python SDK,則可以選擇指定可用於調用apt-getsetup.py文件。 使用 Java SDK 創建的作業是否有類似的東西?

謝謝你的幫助!

我想出了一個解決方案,但可能有更優雅的方法來做到這一點。

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

}

Cloud Dataflow 現在支持自定義容器,可以安裝其他庫(例如 OpenCV)。 有關更多信息,請參閱此頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM