Загрузка данных корзины S3 в AWS SageMaker - PullRequest
1 голос
/ 15 марта 2019

В связи с вопросом ниже, но я все еще борюсь:

Загрузка данных S3 в ноутбук AWS SageMaker

Я пытаюсь загрузить файл паркета из локальной корзины 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))

Итак, пара вопросов новичков:

  • мне также нужно БОТО, чтобы прочитать файл, и если да, то как мне это сделать?

  • мне нужно как-то изменить свою роль в IAM и сделать это без команды "boto"?

  • когда я перемещаю данные в Jupyter, у меня фактически нет проблем с их непосредственным чтением. Где именно хранятся эти данные?

pf1 = ParquetFile("./Sales_867_ts/inputData/t_spp_vcen_cons_sales_fact-part-1.parquet")

1 Ответ

0 голосов
/ 01 июля 2019

просто импортируйте s3fs и затем df = pd.read_csv.вы должны выполнить установку conda в библиотеке s3fs, хотя

...