我运行了几个批处理作业,我想将dataproc中的jobId引用到保存的输出文件中。
这样就可以使参数和输出的所有日志与结果相关联。缺点仍然存在:随着YARN中的执行者过去,不再可以获取单个执行者的日志。
最佳答案
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)
关于google-cloud-dataproc - 如何在PySpark作业中检索Dataproc的jobId,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36527049/