2016-04-10 122 views
0

私はいくつかのバッチジョブを実行しています。私はdataprocから保存された出力ファイルへjobIdを参照したいと思います。PySparkジョブ内でDataprocのjobIdを取得する方法

これは、引数と出力に関連するすべてのログを結果に関連付けることを可能にします。欠点が残っています:YARNのエグゼキュータが過去になくなったため、単一のエグゼキュータのログはもう取得できません。

答えて

3

Google dataprocのコンテキストは、タグを使用してSparkジョブに渡されます。したがって、すべての適切な情報をSparkConfigに存在し、アクセスすることができます。

pyspark.SparkConf().get("spark.yarn.application.tags", "unknown") 
pyspark.SparkConf().get("spark.yarn.tags", "unknown") 

次のような出力になります:

dataproc_job_3f4025a0-bce1-a254-9ddc-518a4d8b2f3d 

情報は、その後、私たちのエクスポートフォルダと出力に割り当てることができることをDataproc参照して保存されます:

df.select("*").write. \ 
    format('com.databricks.spark.csv').options(header='true') \ 
    .save(export_folder) 
関連する問題