Как Jaspersoft Studio может выполнять прямой запрос или прямое соединение с большой базой данных?

Я использую Jaspersoft Studio 6 и работаю с большой базой данных. Мои данные в Mysql и имеют 7 миллионов документов в одной таблице.

Когда я использую Jaspersoft studio для подключения к MySql, он подключается к MySQL, запускает запрос, например, "выберите a, b из таблицы 1" и извлекает наборы данных из MySql. Но здесь моя таблица составляет 7 миллионов документов, и она вызовет ошибки OutOfMemoryError следующим образом:

net.sf.jasperreports.engine.JRException: java.lang.OutOfMemoryError: Java heap space
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.fillReport(ReportControler.java:524)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.access$20(ReportControler.java:499)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler$5.run(ReportControler.java:380)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.OutOfMemoryError: Java heap space............

Кажется, не хватает памяти JVM.

Как я могу выполнить прямой запрос (или установить прямое соединение) с базой данных MySql БЕЗ импорта наборов данных в Jaspersoft?

Из руководства Jaspersoft он также может обрабатывать большие данные из Hadoop и т. Д. Я еще не использовал hadoop, но если каждый раз, когда Jaspersoft studio требуется импортировать целые наборы данных вместо установления прямого соединения, как он может обрабатывать очень большие наборы данных? такие как данные в масштабах туберкулеза

1 ответ

Решение

Вам необходимо настроить виртуализатор отчетов в JSS таким образом, чтобы при запуске большого отчета временные файлы на диске использовались для хранения страниц документов и избежания использования памяти.

В JSS вам нужно перейти в "Предпочтения" / "Jaspersoft Studio" / "Выполнение отчета" и увидеть флажок для активации виртуализатора на основе файлов. Вы можете сначала попробовать с конфигурацией по умолчанию и посмотреть, как она идет.

Другие вопросы по тегам