#python #amazon-web-services #amazon-s3 #amazon-personalize
#python #amazon-web-services #amazon-s3 #amazon-персонализация
Вопрос:
Я создал набор данных, импортировав данные из корзины s3 для Amazon personalize. Теперь у меня есть два сомнения по поводу того, как обновлять набор данных при добавлении новых пользователей или новых элементов в фактический проект.
- Нужно ли мне обновлять файл в самом s3? Если это единственный способ, то при обновлении файла в s3 будет ли набор данных обновляться автоматически? Или мне нужно снова создать задание на импорт.
- Есть ли какой-либо способ, которым мы можем обновлять элементы и пользователей, так же, как мы обновляем взаимодействия, вызывая метод put_events в api.?
https://forums.aws.amazon.com/thread.jspa?messageID=952809amp;#952809
Ответ №1:
Обновление [2020/10/13]
Персонализация недавно добавила новые конечные точки API, которые можно использовать для размещения пользователей и элементов точно так же, как взаимодействия в режиме реального времени.
Вы можете проверить это здесь: https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutItems.html
https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutUsers.html
Если пользователь / элемент уже существует, то он будет перезаписан новым значением.
Также невозможно удалить данного пользователя / элемент.
Если вы хотите обновить набор данных элементов / пользователей, вам нужно: 1. Экспортировать новый дамп в S3. 2. Создать новое задание импорта в Personalize. 3. Дождитесь его завершения. 4. Переобучите решения, если они у вас есть. Для обновления решения только новыми элементами / пользователями вам не нужно выполнять полную переподготовку, обновления достаточно.
Для 4. вы можете найти более подробную информацию здесь, найдите --training-mode
параметр: https://docs.aws.amazon.com/cli/latest/reference/personalize/create-solution-version.html
К сожалению, нет возможности обновлять его в режиме реального времени. Самый простой способ сделать это — создать AWS Lambda, который будет обновлять его каждые несколько часов / дней, зависит от того, как часто будут меняться ваши исходные наборы данных.