#python #java #unix
Вопрос:
Я пытаюсь прочитать два миллиарда файлов записей с сервера Unix для сравнения файлов.
Я пробовал на python с пакетом paramiko, но он очень медленно подключается и читает файлы Unix. Вот почему я выбрал Java.
В Java, когда я читаю файл, я сталкиваюсь с проблемами с памятью и производительностью.
Мое требование: сначала прочитайте все записи из файла 1 сервера Unix, затем прочитайте записи второго файла с сервера Unix и, наконец, сравните два файла.
Комментарии:
1. и вы хотите сделать все это со всеми файлами 1 в памяти? что ты пытаешься сравнить? это строчка за строчкой? файлы уже отсортированы?
2. Удалена вкладка oracle. Не имеет отношения к делу
Ответ №1:
Звучит так, будто вы хотите обрабатывать огромные файлы. Эмпирическое правило состоит в том, что они превысят вашу оперативную память, поэтому никогда не надейтесь, что они будут прочитаны все сразу.
Вместо этого попытайтесь прочитать значимые фрагменты, обработать их, а затем забыть о них. Значимыми фрагментами могут быть символы, слова, строки, выражения, объекты.
Ответ №2:
Поскольку вы работаете в UNIX, я бы посоветовал вам отсортировать файлы и использовать diff
инструмент командной строки: команды командной строки UNIX довольно мощные. Пожалуйста, покажите нам отрывок из файлов (возможно, вам тоже понадобятся cut
или awk
скрипты).