我正在谷歌云上运行一个火花星团,我上传了每个作业的配置文件。使用提交命令上传文件的路径是什么?
在下面的示例中,如何在SparkContext初始化之前读取文件Configuration.properties
?我正在使用Scala。
gcloud dataproc jobs submit spark --cluster my-cluster --class MyJob --files config/Configuration.properties --jars my.jar
答案 0 :(得分:10)
使用SparkFiles
机制(--files
参数,SparkContext.addFile
)方法分发的文件的本地路径可以使用SparkFiles.get
获取:
org.apache.spark.SparkFiles.get(fileName)
您还可以使用SparkFiles.getRootDirectory
:
org.apache.spark.SparkFiles.getRootDirectory
您可以将这些与标准IO实用程序结合使用来读取文件。
如何在初始化SparkContext之前读取文件Configuration.properties?
SparkFiles
由驱动程序分发,在上下文初始化之前无法访问,并且首先要分发,必须可以从驱动程序节点访问。因此,问题的这一部分仅取决于您将用于将文件公开给驱动程序节点的存储类型。