A55*_*h55 15 python machine-learning amazon-s3 amazon-web-services amazon-sagemaker
我刚刚开始尝试使用AWS SageMaker,并希望将来自S3存储桶的数据加载到我的SageMaker python jupyter笔记本中的pandas数据帧中进行分析.
我可以使用boto从S3获取数据,但我想知道是否有更优雅的方法作为SageMaker框架的一部分在我的python代码中执行此操作?
提前感谢任何建议.
小智 27
import boto3
import pandas as pd
from sagemaker import get_execution_role
role = get_execution_role()
bucket='my-bucket'
data_key = 'train.csv'
data_location = 's3://{}/{}'.format(bucket, data_key)
pd.read_csv(data_location)
Run Code Online (Sandbox Code Playgroud)
iva*_*ler 27
在最简单的情况下,您不需要boto3,因为您只是阅读资源。
然后就更简单了:
import pandas as pd
bucket='my-bucket'
data_key = 'train.csv'
data_location = 's3://{}/{}'.format(bucket, data_key)
pd.read_csv(data_location)
Run Code Online (Sandbox Code Playgroud)
但正如 Prateek 所说,请确保将您的 SageMaker 笔记本实例配置为可以访问 s3。这是在权限 > IAM 角色中的配置步骤中完成的
您还可以使用您的存储桶作为文件系统访问 s3fs
import s3fs
fs = s3fs.S3FileSystem()
# To List 5 files in your accessible bucket
fs.ls('s3://bucket-name/data/')[:5]
# open it directly
with fs.open(f's3://bucket-name/data/image.png') as f:
display(Image.open(f))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22319 次 |
| 最近记录: |