-1

I have created a dataset by importing data from s3 bucket for Amazon personalize. Now I have two doubts about how to update dataset when new users or new items are added in actual project.

  1. Do i need to update file in s3 itself? If thats the only way, when i update file in s3 will the dataset get updated automatically? Or do I need to create import job again.
  2. Is there any way we can update items and users , the same way we update interactions by calling put_events method to api.?

https://forums.aws.amazon.com/thread.jspa?messageID=952809&#952809

Sreee
  • 1

1 Answers1

0

Update [2020/10/13]

Personalize recently added a new API endpoints, that can be used for putting Users and Items just like Interactions in real-time.

You can check it out here: https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutItems.html https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutUsers.html

If User/Item already exists, then it will be overwritten with a new value.

It's also impossible to remove given User/Item.

If you want to update Items/Users dataset, you have to: 1. Export a new dump into S3. 2. Create a new import job in Personalize. 3. Wait for it to finish. 4. Retrain Solutions if you have any. For updating Solution with just new Items/Users, you don't need to do full retraining, update is enough.

For 4. you can find more details here, look for --training-mode parameter: https://docs.aws.amazon.com/cli/latest/reference/personalize/create-solution-version.html

Unfortunately there is no option to update it in real-time. The easiest way to do it, is to create AWS Lambda, which will update it every few hours/days, depends how often your source datasets will change.

PatrykMilewski
  • 922
  • 8
  • 17