4

我无法使用读取的数据帧访问我在 S3 上的文件:df_read_csv。我得到错误:Exception: Unable to locate credentials

当我的分布式 dask 针对本地工作核心运行时,这可以正常工作。但是,当我导入带有附加工作服务器集群的客户端时,它会失败。我的集群是在 ubuntu 上使用 dask-ec2 创建的,头服务器上有 1 个调度程序和 3 个工作服务器(都是 ubuntu)。

我假设失败是因为所有工作人员也需要访问 S3。我已经在所有这些设备上安装了 aws cli 并使用我的密钥进行连接,并且可以从 cli 中列出 S3 存储桶。但是,由于某种原因,我的数据框读取引发了一个 ubuntu 错误,指出 boto 无法找到凭据

我浏览了各种帖子,但似乎找不到任何有用的东西。这是错误的屏幕截图:

错误

4

1 回答 1

3

嗨,马特,你应该添加key和。就我而言,我将它们保存在 settings.pysecretstorage_options

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})
于 2017-12-05T13:53:07.707 回答