Вы не могли итерировать или хранить больше данных, чем длина вашего массива. В этом случае вы можете сделать так:
for (int i = 0; i <= name.length - 1; i++) {
// ....
}
Или это:
for (int i = 0; i < name.length; i++) {
// ...
}
Принятый ответ объясняет, что является ключами раздела и и для чего они используются в Кинезе (для решения к который черепок отправить данные в). К сожалению, это не объясняет, почему ключи раздела необходимы во-первых.
В теории AWS мог создать случайный ключ раздела для каждой записи, которая закончится почти совершенное распространение.
разделы настоящей причины используются, для "упорядочивания/потоковой передачи". Кинез поддерживает упорядочивание (порядковый номер) для каждого черепка.
, Другими словами, путем потоковой передачи X и впоследствии Y к черепку Z это гарантируется, который X вытянут от потока прежде Y (при получении по запросу записей от всех черепков). С другой стороны, путем потоковой передачи X к общему Z1 и впоследствии Y к черепку Z2 там не является никакой гарантией на упорядочивании (при получении по запросу записей от всех черепков). Y можно определенно вытянуть, прежде X.
возможность "потоковой передачи" черепка полезна во многих случаях.
(Например, видеосервис, передающий фильм потоком пользователю, использующему имя пользователя и фильм, называют как ключ раздела).
(Например, работающий над потоком событий от группы пользователей и применяющий агрегирование).
В случаях, где упорядочивание (потоковой передачи) не требуется, генерируя случайный ключ раздела, будет достаточен.