[英]Install apt-get dependencies on Google Dataflow with Beam Java SDK
我們目前正在嘗試讓 OpenCV 在 Google Cloud Dataflow 上的 Java 作業中運行。 不幸的是,我們無法將 Dataflow 使用的 Docker 容器替換為安裝了 OpenCV 的容器。 ( 請參閱其他問題)如果我們使用 Python SDK,則可以選擇指定可用於調用apt-get
的setup.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.