Spring Data DynamoDB разбит на страницы

Использование re:

import re

context, m = 'some file to search or text', {}
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
for i in range(len(letters)):
  m[letters[i]] = len(re.findall('{0}'.format(letters[i]), context))
  print '{0} -> {1}'.format(letters[i], m[letters[i]])

Это тем более элегантно и чисто с Counter.

0
задан Deepak 6 March 2019 в 00:39
поделиться

2 ответа

Я изучил еще несколько деталей, связанных с DynamoDB и Spring-data.

Когда для нумерации страниц Spring-data-DynamoBD запрашивается пагинация (предположим, что у вас есть одна из следующих стратегий: LAZY_LOADING, ITERATION_ONLY):

  • Spring загружает страницу данных в память
  • [111 ] Размер страницы составляет 1 МБ.
  • Для стратегии LAZY_LOADING сначала загружается 1 МБ данных, и если у этих данных нет запрошенной страницы записей, то запросы с датой весны еще 1 МБ записей и т. Д. Но предыдущие записи которые были загружены в память, не были сброшены.
  • В ITERATION_ONLY, в отличие от LAZY_LOADING, он удаляет ранее загруженные записи из памяти. Таким образом, вы не загружаете свою память и не сталкиваетесь с проблемами производительности.

Знание Spring-загрузок данных 1 МБ данных помогли мне двигаться вперед.

0
ответ дан Deepak 6 March 2019 в 00:39
поделиться

Это на самом деле зависит от конфигурации картографа DynamoDB. Из того, что я могу сказать, все результаты DynamoDBMapper из запроса или сканирования разбиты на страницы. См. Приведенный ниже отрывок:

"Значение перечисления DynamoDBMapperConfig.PaginationLoadingStrategy - управляет обработкой экземпляра картографа разбитого на страницы списка данных, например результатов запроса или сканирования:

LAZY_LOADING - Экземпляр mapper загружает данные, когда это возможно, и сохраняет все загруженные результаты в памяти.

EAGER_LOADING - экземпляр mapper загружает данные, как только список инициализируется.

ITERATION_ONLY - вы можете использовать только Итератор для чтения из списка. Во время итерации список очистит все предыдущие результаты перед загрузкой следующей страницы, так что список будет хранить не более одной страницы загруженных результатов в памяти. Это также означает, что список может быть только повторяется один раз. Эта стратегия рекомендуется при обработке больших элементов, чтобы уменьшить накладные расходы памяти.

Если вы не укажете стратегию загрузки разбиения на страницы для своего экземпляра mapper, по умолчанию будет LAZY_LOADING. "

[117 ] Смотрите полные документы здесь: https://docs.aws.amazon.com/ amazondynamodb / последний / developerguide / DynamoDBMapper.OptionalConfig.html

0
ответ дан user3474985 6 March 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: