luc*_*mia 10 python apache-spark pyspark google-cloud-dataproc
例如,我有一个文件夹:
/
- test.py
- test.yml
Run Code Online (Sandbox Code Playgroud)
并通过以下方式将作业提交给spark群集:
gcloud beta dataproc jobs submit pyspark --files=test.yml "test.py"
在test.py,我想访问我上传的静态文件.
with open('test.yml') as test_file:
logging.info(test_file.read())
Run Code Online (Sandbox Code Playgroud)
但得到以下例外:
IOError: [Errno 2] No such file or directory: 'test.yml'
Run Code Online (Sandbox Code Playgroud)
如何访问我上传的文件?
zer*_*323 14
使用SparkContext.addFile(和--files)分发的文件可以通过访问SparkFiles.它提供了两种方法:
getRootDirectory() - 返回分布式文件的根目录get(filename) - 返回文件的绝对路径我不确定是否有任何Dataproc特定的限制,但这样的事情应该可以正常工作:
from pyspark import SparkFiles
with open(SparkFiles.get('test.yml')) as test_file:
logging.info(test_file.read())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4133 次 |
| 最近记录: |