источник данных из Athena или Redshift в Sage maker или AWS Forecast вместо плоского файла - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь получить данные напрямую из Athena или Redshift в Sage maker или AWS Forecast, не используя плоские данные.В Sage Maker я использую код Python Jupyter Notebook.Есть ли в любом случае сделать это даже без подключения к S3.

До сих пор я использовал плоские данные, а это не то, что я хотел.

Ответы [ 2 ]

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

если вы используете только экземпляр ноутбука SageMaker, ваши данные не обязательно должны быть в S3. Вы можете использовать boto3 SDK или соединение SQL (в зависимости от серверной части) для загрузки данных, их локального хранения и работы с ними в вашей записной книжке.

Если вы используете SageMaker SDK для обучения, тогда да, данные должны быть в S3. Вы можете сделать это вручную, если вы экспериментируете, или использовать такие сервисы, как AWS Glue или AWS Batch, для автоматизации вашего конвейера данных.

Действительно, данные Athena, вероятно, уже находятся в S3, хотя они могут быть в формате, который не поддерживается вашим учебным кодом SageMaker. Создание новой таблицы с правильным SerDe (скажем, CSV) может быть достаточно. Если нет, вы, безусловно, можете выполнить работу с помощью AWS Glue или Amazon EMR.

Когда дело доходит до Redshift, выгрузка данных CSV на S3 так же проста, как:

unload ('select * from mytable')   
to 's3://mybucket/mytable' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
delimiter ',';

Надеюсь, это поможет.

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

Если вы используете SageMaker, вы должны использовать S3 для чтения данных, SageMaker не читает данные из Athena или Redshift.

Если ваш источник данных находится в Redshift, вам необходимо сначала загрузить данные в S3, чтобы иметь возможность использовать их в SageMaker. Если вы используете Athena, ваши данные уже находятся в S3.

Машинное обучение Amazon использовалось для поддержки чтения данных из Redshift или RDS, но, к сожалению, оно больше не доступно.

...