我无法使用读取的数据帧访问 S3 上的文件:df_read_csv。我收到错误:Exception: Unable to locate credentials
当我的 dask distributed 针对本地 worker cores 运行时,这工作正常。但是,当我导入一个带有额外工作服务器集群的客户端时,它失败了。我的集群是在 ubuntu 上使用 dask-ec2 创建的,在 header 服务器上有 1 个调度程序和 3 个工作服务器(都是 ubuntu)。
我假设失败是因为所有工作人员还需要访问 S3。我已经在所有这些设备上安装了 aws cli 并使用我的 key 进行连接,并且可以从 cli 中列出 S3 存储桶。但是,出于某种原因,我的数据框读取抛出一个 ubuntu 错误,指出 boto 无法找到凭据
我浏览了各种帖子,但似乎找不到任何有用的东西。这是错误的屏幕截图:
最佳答案
你好 Matt,你应该将 key
和 secret
添加到 storage_options
。在我的例子中,我将它们保存在 settings.py 中
import dask.dataframe as dd
import settings
df = dd.read_csv("s3://gra-dask-ec2/us_cities.csv",
storage_options={'key': settings.AWS_ACCESS_KEY_ID,
'secret': settings.AWS_SECRET_ACCESS_KEY})
关于ubuntu - Dask 分布式无法找到凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45586273/