2017-01-16 21 views
3

私はGoogleクラウド上でスパーククラスタを実行しており、各ジョブで設定ファイルをアップロードしています。送信コマンドでアップロードされるファイルへのパスとは何ですか?アップロードされたファイルへのパスを取得する方法

SparkContextが初期化される前に、Configuration.propertiesというファイルを読み取るにはどうすればよいですか?私はScalaを使用しています。

gcloud dataproc jobs submit spark --cluster my-cluster --class MyJob --files config/Configuration.properties --jars my.jar 
SparkFilesメカニズムを使用して分散ファイルへ

答えて

6

ローカルパスが(--files引数は、SparkContext.addFile)メソッドはSparkFiles.getを使用して取得することができます。

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

あなたはまたSparkFiles.getRootDirectoryを使用して、ルートディレクトリへのパスを取得することができます:

org.apache.spark.SparkFiles.getRootDirectory 

これを標準のIOユーティリティと組み合わせて使用​​すると、ファイル。

SparkContextを初期化する前に、どのようにConfiguration.propertiesファイルを読み込むことができますか?

SparkFilesは、コンテキストが初期化され、最初に配布される前にアクセスできず、ドライバノードからアクセス可能でなければなりません。だからこの質問の部分は、ドライバノードにファイルを公開するために使用するストレージの種類に依存します。

関連する問題