2014-10-15 1 views
0

Я работаю над заданием cron, которое должно ежедневно запрашивать Postgres. Стол - огромные триллионы записей. В среднем я ожидаю получить около миллиарда записей за выполнение. Я не мог найти документацию по использованию курсоров или разбивки на страницы для Slick 2.1.0. Легкий подход, о котором я могу думать, - сначала вычислить счет, а затем выполнить цикл с помощью drop and take. Есть ли лучший и эффективный способ сделать это?Получить большие результаты ~ 1 миллиард с помощью Typesafe Slick

+1

Вы (1) полагаетесь на огромное количество ОЗУ на клиенте или (2) планируете использовать курсоры для извлечения меньше, чем весь набор результатов? Я не уверен, что понимаю ваш вопрос в деталях. –

+0

Извиняюсь, если я не объясню это должным образом. Я определенно ищу вариант (2) – Shashi

+0

Я думаю, что Ричард Хукстон получал то, что если вы используете курсоры, вы не будете вытаскивать все эти записи в память сразу. Вы будете читать свои миллиардные результаты в памяти по одному (или, возможно, куску за раз, в зависимости от драйвера базы данных). – AmigoNico

ответ

-1

Map уменьшить с помощью akka, postgresql-async, сначала подсчитать, а затем распространять с помощью смещения + лимит-запрос субъектам, а затем сопоставлять данные по мере необходимости, а затем уменьшать результат до elasticsearch или другого магазина?

+1

Этот ответ больше похож на комментарий. Постарайтесь отформатировать ваши шаги в шагах и дать немного больше деталей. – CaptainBli