我无法使用数据框读取来访问S3上的文件:df_read_csv。我收到错误:Exception: Unable to locate credentials
当我的dask分布式针对本地工作者核心运行时,这很好用。但是,当我使用其他工作服务器群集导入客户端时,它会失败。我的集群是在ubuntu上使用dask-ec2在头服务器上使用1个调度程序和3个工作服务器(所有ubuntu)创建的。
我假设失败是因为所有工作人员也需要访问S3。我已经在所有这些上安装了aws cli并使用我的密钥连接,并且可以从cli列出S3存储桶。但是,出于某种原因,我的数据框读取会抛出一个ubuntu错误,说boto无法找到凭证
我已经浏览过各种帖子,但似乎找不到任何有用的东西。这是错误的屏幕截图:
答案 0 :(得分:0)
您好马特,您应该将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})