繁体   English   中英

在AWS上将工作目录更改为S3存储桶

[英]Changing the working directory to a S3 Bucket on AWS

目前,我正在处理SageMaker笔记本实例,并尝试将工作目录更改为AWS S3存储桶。 我正在使用以下代码:

os.chdir('s3://bucket-name')

生成的错误说: FileNotFoundError: [Errno 2] No such file or directory: 's3://bucket-name'但是我使用下面的代码上传了CSV文件,并且可以正常工作:

import boto3
import pandas as pd
from sagemaker import get_execution_role

role = get_execution_role()
bucket='bucket-name'
data_key = 'some_file.csv'
data_location = 's3://{}/{}'.format(bucket, data_key)

df = pd.read_csv(data_location)

如何将工作目录更改为S3存储桶?

盖伊像往常一样是对的;)

如果仍要使用熊猫,则需要安装s3fs库(“ pip install s3fs”),然后可以执行以下操作:

import pandas as pd
my_file = pd.read_csv('s3://my_bucket/my_prefix/my_file.csv')

S3不是文件系统,您不能仅将目录更改为它。 许多库(例如Pandas)都可以直接从S3读取和写入,但是需要特定的库才能使其正常工作。

最简单的选择是将文件从S3复制到笔记本实例的本地驱动器(EBS或EFS):

aws s3 cp s3://bucket_name/some_file.csv data/

AWS CLI已安装在笔记本实例上,并且如果在启动笔记本实例时授予了正确的IAM权限,则copy命令应该可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM