У меня есть огромная таблица DynamoDB, которую я хочу проанализировать для агрегирования данных, хранящихся в ее атрибутах. Затем агрегированные данные должны быть обработаны приложением Java. Хотя я понимаю действительно основные концепции MapReduce, я никогда не использовал его раньше.
В моем случае предположим, что у меня есть атрибуты customerId
и orderNumbers
в каждом элементе DynamoDB и что у меня может быть более одного элемента для одного и того же клиента. Нравиться:
customerId: 1, orderNumbers: 2
customerId: 1, orderNumbers: 6
customerId: 2, orderNumbers: -1
По сути, я хочу суммировать порядковые номера для каждого идентификатора клиента, а затем выполнить некоторые операции в Java с агрегатом.
AWS Elastic MapReduce, вероятно, мог бы мне помочь, но я не понимаю, как связать пользовательский JAR с DynamoDB. Мой пользовательский JAR, вероятно, должен предоставлять функции map
и reduce
, где я могу найти правильный интерфейс для реализации?
Кроме того, меня немного смущают документы, кажется, я должен сначала экспортировать свои данные в S3, прежде чем запускать свой собственный JAR. Это правильно?
Спасибо