2012-03-22 5 views
2

У меня есть огромный XML-файл (размером около 2 ГБ), отформатированный в XML-формате Graphml для социального графика. При создании нового графа черезЗагрузить очень большой файл в prefuse

graph = new GraphMLReader().readGraph("socialgraph.xml"); 

Я получаю «java.lang.OutOfMemoryError: Java кучу пространства» исключение Есть ли способ в Prefuse, чтобы прочитать файл, узел на узле. Если нет, можете ли вы порекомендовать мне некоторые инструменты визуализации, которые могут обрабатывать такие большие размеры через базы данных XML или SQL.

ответ

3

Первое, что я хотел бы предложить, это увеличить объем памяти, которую вы выделяете JVM. Добавьте этот аргумент JVM при запуске программы:

-Xmx4g 

Смотрите этот родственный вопрос для получения дополнительной информации: Increase heap size in java

Если у вас есть проблемы и вы хотите попробовать другую визуализацию Я бы попробовать gephi первым.

+0

1024 может быть недостаточно, если файл удвоен, что ... разрешить больше, если ваша машина может принять его – mbatchkarov

+0

Вы правы, это был просто пример, я исправлю ответ. Размер файла на самом деле не указывает, сколько фактических узлов и ребер находится на графике. GraphML обычно довольно многословный. –

+0

Я собирался попробовать visone. Он мог читать файлы до 5000 узлов, но после этого производительность ухудшалась. Я смотрю на почти миллион узлов. – kitwalker

Смежные вопросы