набор результатов потоковой передачи jdbi jdbc vertica для обработки больших объемов данных

#jdbc #stream #vertica #jdbi

#jdbc #поток #vertica #jdbi

Вопрос:

Я пытаюсь подключиться к vertica через Jdbi jdbc, чтобы получить огромный набор результатов. Следовал документации JDBI и добавил это в dao,

 @SqlQuery("<query>")
@Mapper(ResultRow.StreamMapper.class)
@FetchSize(chunkSizeInRows)
public Iterable<List<Object>> getStreamingResultSet(@Define("query") String query);
 

Но похоже, что он загружает все данные в память вместо их потоковой передачи

введите описание изображения здесь

Комментарии:

1. Пожалуйста, добавьте вопрос или вы можете опубликовать проблему на странице jdbi.

Ответ №1:

Я просматривал наборы результатов потоковой передачи из JDBI и наткнулся на этот вопрос. Ответ находится на странице документации SQL Object Queries:

поскольку метод возвращает a java.util.Iterator , он загружает результаты лениво

Итак, в этом случае Iterable<List<Object>> должно быть a Iterator<List<Object>> (я предполагаю, что JDBI может преобразовать строку базы данных в a List<Object> ).