Как обработать два миллиарда записей для сравнения файлов

#python #java #unix

Вопрос:

Я пытаюсь прочитать два миллиарда файлов записей с сервера Unix для сравнения файлов.

Я пробовал на python с пакетом paramiko, но он очень медленно подключается и читает файлы Unix. Вот почему я выбрал Java.
В Java, когда я читаю файл, я сталкиваюсь с проблемами с памятью и производительностью.

Мое требование: сначала прочитайте все записи из файла 1 сервера Unix, затем прочитайте записи второго файла с сервера Unix и, наконец, сравните два файла.

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

1. и вы хотите сделать все это со всеми файлами 1 в памяти? что ты пытаешься сравнить? это строчка за строчкой? файлы уже отсортированы?

2. Удалена вкладка oracle. Не имеет отношения к делу

Ответ №1:

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

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

Ответ №2:

Поскольку вы работаете в UNIX, я бы посоветовал вам отсортировать файлы и использовать diff инструмент командной строки: команды командной строки UNIX довольно мощные. Пожалуйста, покажите нам отрывок из файлов (возможно, вам тоже понадобятся cut или awk скрипты).