Как читать данные из S3, используя python в Azure ML - PullRequest
0 голосов
/ 28 апреля 2018
import boto3
import io
import pandas as pd

# The entry point function can contain up to two input arguments:
#   Param<dataframe1>: a pandas.DataFrame
#   Param<dataframe2>: a pandas.DataFrame
def azureml_main(dataframe1 = None, dataframe2 = None):
    s3 = boto3.client('s3',
    aws_access_key_id='REMOVED',
    aws_secret_access_key='REMOVED')
    obj = s3.get_object(Bucket='bucket', Key='data.csv000')
    df = pd.read_csv(io.BytesIO(obj['Body'].read()))
    return df,

Я пытаюсь прочитать данные с S3 с помощью модуля Execute Python. Я скачал пакет boto3 и преобразовал его в zip. Затем я загрузил и подключил этот .zip к третьей опции ввода модуля. Когда я запускаю этот код, я получаю сообщение о том, что botocore не установлен. Кто-нибудь мог читать напрямую из S3 в студии Azure ML? Я попытался использовать модуль сценария R, который также не работает, поэтому теперь я пытаюсь использовать Python.

1 Ответ

0 голосов
/ 28 апреля 2018

Поскольку пакет boto3 имеет зависимости , даже те из них, которые клонированы из git, я не думаю, что Azure ML Studio сможет его использовать. Согласно примечанию в их документации было бы проще переключиться на Azure ML Workbench , поскольку он может обрабатывать пакеты Python намного проще.

Еще один вариант, если вам нужно использовать Azure ML Studio, - это скопировать из S3 в хранилище BLOB-объектов Azure, которое ML Studio прекрасно поддерживает.

Немного ответа, но, боюсь, вы столкнулись с ограничением Azure ML Studio.

...