2017-01-16 46 views
3

我正在谷歌雲上運行一個Spark集羣,並且我上傳了一份配置文件和每個作業。使用提交命令上傳的文件的路徑是什麼?如何獲取上傳文件的路徑

在下面的示例中,如何在SparkContext初始化之前讀取文件Configuration.properties?我正在使用Scala。

gcloud dataproc jobs submit spark --cluster my-cluster --class MyJob --files config/Configuration.properties --jars my.jar 
--files說法, SparkContext.addFile)可以使用 SparkFiles.get獲得

回答

6

使用SparkFiles機制分配到一個文件本地路徑方法:

org.apache.spark.SparkFiles.get(fileName) 

您也可以使用SparkFiles.getRootDirectory獲取路徑到根目錄:

org.apache.spark.SparkFiles.getRootDirectory 

您可以使用這些與標準IO實用程序結合來讀取文件。

如何在SparkContext初始化之前讀取Configuration.properties文件?

SparkFiles由驅動程序分發,在上下文初始化之前無法訪問,並首先分發,必須可從驅動程序節點訪問。因此,這部分問題完全取決於您將使用哪種類型的存儲將文件公開到驅動程序節點。

相關問題