与以下问题有关,但我仍在努力:
我正试图从本地S3存储桶(其名称中包含“ sagemaker”。)中加载镶木地板文件。
我正在尝试使用两种约定(文件的对象URL和通常看到的)访问文件:
pf1 = ParquetFile("https://s3.amazonaws.com/sagemaker-us-east-1-716296694085/data/t_spp_vcen_cons_sales_fact-part-1.parquet")
pf1 = ParquetFile("s3://sagemaker-us-east-1-716296694085/data/t_spp_vcen_cons_sales_fact-part-1.parquet")
df1 = pf1.to_pandas()
它显示FileNotFoundError
,但文件在那里。
有趣的是,当我创建模型并使用BOTO时,我实际上能够“写入”相同的存储桶:
buf = io.BytesIO()
smac.write_numpy_to_dense_tensor(buf, np.array(train_X).astype('float32'), np.array(train_y).astype('float32'))
buf.seek(0)
key = 'linear_train.data'
prefix = "Sales_867_ts"
boto3.resource('s3').Bucket(bucket_write).Object(os.path.join(prefix, 'train', key)).upload_fileobj(buf)
s3_train_data = 's3://{}/{}/train/{}'.format(bucket_write, prefix, key)
print('uploaded training data location: {}'.format(s3_train_data))
所以有几个新手问题:
我还需要BOTO来读取文件吗?如果是,我该怎么做?
我是否需要某种方式来修改我的IAM角色,而无需使用“ boto”命令来做到这一点?
当我将数据移至Jupyter时,我实际上没有直接读取数据的问题。那么,这些数据到底存储在哪里?
pf1 = ParquetFile("./Sales_867_ts/inputData/t_spp_vcen_cons_sales_fact-part-1.parquet")
答案 0 :(得分:0)
只需导入s3fs,然后df = pd.read_csv。您必须通过
在s3fs库上安装conda