• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Merge File Sort или быстрая сортировка строк и удаление дублей интерпретатором в файле от 400 GB за счет ПЗУ

Изображения прогрузились под клир версией, ща вижу что показатели счетчиков разнятся. Файлы разные? Или это у меня аномалия в алгоритме? =\
Походу вторая версия то поточнее должна рассчитывать. Потом проверю.

Файл один и тот же
 
мемберы, в питоне нуб, разъясните как правильно вставлять код, что-то не получается
А что не получается? Может либу не устанавливаешь? Установи pip install colorlog
Если не получится скинь лог ошибки из интерпретатора в ветку или ПМ, помогу.
 
Последнее редактирование:
А что не получается? Может либу не устанавливаешь? Установи pip install colorlog
Если не получится скинь лог ошибки из интерпретатора в ветку или ПМ, помогу.

как правильно задать команды, куда ложить файл
 
как правильно задать команды, куда ложить файл
Команд никаких нет. Просто вводите в переменные скрипта пути или название файла в корне скрипта и запускаете. Там же все написано к комментариям кода. Если вам проще запускать как нужно, сделайте сами. Это же просто алгоритм для питона. EXE я делать не буду.
 
что такое переменные, как и куда вводить
Помещаете файл со скриптом в корневую папку с файлами которые нужно прогнать на дубли, и вот в этих строках ниже приведу пример с комментариями к коду:

Python:
if __name__ == "__main__":
# Замени 'your_large_file.txt' на путь к твоему большому файлу
     input_file_path = 'input.txt' # Сюда вводите имя входного файла
     output_file_path = 'cleaned_output.txt' # Сюда имя выходного файла
 
Помещаете файл со скриптом в корневую папку с файлами которые нужно прогнать на дубли, и вот в этих строках ниже приведу пример с комментариями к коду:

Python:
if __name__ == "__main__":
# Замени 'your_large_file.txt' на путь к твоему большому файлу
     input_file_path = 'input.txt' # Сюда вводите имя входного файла
     output_file_path = 'cleaned_output.txt' # Сюда имя выходного файла

а как запустить этот скрипт
 
а как запустить этот скрипт
Установить питон в целевую операционную систему и запустить .py скрипт. Вы я смотрю вообще плохо понимаете в работе питона... Тогда пишите в ПМ. Попробую помочь по мере своих возможностей. =)
 
опять же какой скрипт, их несколько, мне проще запустить готовый файл
порой запустить готовый файл , мб = отдать всю инфу или же доступ к своему серверу и тд)

1. В папке, или же создай папку по любому пути, в ней где путь, т.е. прям по середине строка, удаляешь (бекспейсом кнопкой) т.е. просто стереть путь, который у тебя будет, например D:\ и вместо этого пишешь cmd.exe затем энтер нажимаешь
2. И тоже самое сделай, где ты создашь папку с софтом и назовёшь как хочешь её;
3. Далее дай команду pip install colorlog в ней, но сначала установи Python указанный автором и также в cmd.exe пропиши (+ при установнке нажми на галочку там будет питона):
а это уже в командной строке проверить какая версия питона была установлена:
python --version
или
python -V
4. Далее если у тебя указана та версия, какая нужна от автора, устаноим библу (это благодаря чему будет работать код), кст надо проверять библы на бекдоры, порой в старых версия бывает бекдорчики разные..
5. Затем создай файл и назови его main.py и туда код закинь , который автор сделал
6. Затем ты можешь просто этот файл перетащить в cmd.exe (запущенный в папке где софт) и всё работает
7. И всегда лучше запускай через cmd.exe если чего-то будет не хватать, покажет ошибку ,а не сразу закроется код
8. По сути это скрипты чисто, а не софт, но они да очень хорошо упрощают работу

но мне кажется быстрее всего такое на го, расте и тд, но питон тоже неплох, так чисто мои мысли

насчёт проверки библ, bandit неплох был вот репозиторий https://github.com/PyCQA/bandit
чекает статический код и всякие уязвимости в библах

вообще инфа лайтовая очень, любой ИИ поможет почти, вот он изи справится https://chat.qwen.ai/

но код у ТС полезный, для копилки + гуд инструмент тоже

а ну и ещё смотря на какое OS работаешь ты, выше под винду, именно
 
Вы я смотрю вообще плохо понимаете в работе питона...

не плохо, а совсем плохо...рожденный ползать летать не может...однажды я возомнил, падал покруче Икара...опять ползаю 🥲
 
Как будто жесткий overhead, bloom фильтр для 1 миллиарда строк (100 гигабайт, +-) потребляет 1.8 гигабайт оперативной памяти, с учетом того что процент false positive будет 0.1%

Если задача стояла проверять строки не через банальный set/хэш, а регулярные выражения, то возможно вариант с диском оправдывает себя, но если данный вариант нацелен на обычное сравнение уникальные или нет, то люди уже все придумали
 
Как будто жесткий overhead, bloom фильтр для 1 миллиарда строк (100 гигабайт, +-) потребляет 1.8 гигабайт оперативной памяти, с учетом того что процент false positive будет 0.1%

Если задача стояла проверять строки не через банальный set/хэш, а регулярные выражения, то возможно вариант с диском оправдывает себя, но если данный вариант нацелен на обычное сравнение уникальные или нет, то люди уже все придумали
Просто хотелось реализовать дедупликацию на питоне. Такого решения не было. На экспе люди интересовались и здесь, я решил родить это. Блум будет погрешности давать, это без погрешностей. Я где-то реализовывал через блум, но скорость меня не удовлетворила. Исходник можно поискать.
 
Как будто жесткий overhead, bloom фильтр для 1 миллиарда строк (100 гигабайт, +-) потребляет 1.8 гигабайт оперативной памяти, с учетом того что процент false positive будет 0.1%

Если задача стояла проверять строки не через банальный set/хэш, а регулярные выражения, то возможно вариант с диском оправдывает себя, но если данный вариант нацелен на обычное сравнение уникальные или нет, то люди уже все придумали
Так здесь скрипт на удаление дублей, а не сверку на уникальные строки...

Сверка на уникальные, это вообще другой скрипт-софт и тд, берётся АП (анти паблик) для сверки, можно указать путь к примеру, и путь на новые строки и он сверяет с АПОМ, пишет сколько уникальных, и тд. Софта такие есть, какой из них самый лучший допустим? Где только открытый код. Закрытый код не использую.

А тс чисто утилита для удаление дублей на сколько известно


 
Так здесь скрипт на удаление дублей, а не сверку на уникальные строки...

Сверка на уникальные, это вообще другой скрипт-софт и тд, берётся АП (анти паблик) для сверки, можно указать путь к примеру, и путь на новые строки и он сверяет с АПОМ, пишет сколько уникальных, и тд. Софта такие есть, какой из них самый лучший допустим? Где только открытый код. Закрытый код не использую.

А тс чисто утилита для удаление дублей на сколько известно

+сортировка попутно.
 
Делал что-то подобное, это действительно один из немногих вариантов на питоне, автор молодец. Мучительно, долго, но как есть. Либо крамсать файлы, баловаться с temp-ом и прочее. Все же скриптовые языки для таких задач не очень подходят.
 
вернулся к вопросам, не устанавливается pip install colorlog==6.8.2, в чем причина, может неправильно команду задаю?
А просто если pip install colorlog ?
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх