Как разобрать большие файлы с помощью flatpack

1

Мне нужно разбирать файлы, которые могут быть довольно большими, возможно, 100 мегабайт и миллионы строк. Я пытаюсь сделать это с помощью FlatPack. Я бы подумал, что способ сделать это будет использовать буферизованные парсеры и новые методы потока. Но, несмотря на то, что dataset.next() возвращает true для правильного количества записей, Опция, возвращаемая dataset.getRecord(), никогда не содержит значения.

Я просмотрел этот пример/test, но он учитывает только количество записей и фактически ничего не делает с содержимым. Пример/тест

Теги:
flatpack

2 ответа

0

Объяснения как для DefaultParserFactory, так и для BuffReaderParseFactory не совсем полезны. Обе библиотеки сказали вернуть PZParser (из newDelimitedParser), но только один из них возвращает фактическое значение из записи. Основываясь на примерах, которые я видел, я думаю, что BuffReaderParseFactory предназначен только для проверки производительности (следовательно, должен быть быстрее), а DefaultParserFactory с другой стороны, содержит все записи.

0

Вы можете использовать класс BuffReaderParseFactory вместо DefaultParserFactory.

Он будет читать одну запись из входного файла только при вызове "next()".

  • 0
    Я верю, что пример, на который я ссылался, использует классы Buffered, но он ничего не делает с контентом. Мне нужен доступ к содержимому поля записи, но когда я пытаюсь получить к нему доступ, я получаю ошибки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню