Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/64: Рейтинг темы: голосов - 64, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 5

Сортировка больших текстовых файлов размером до двух терабайт

20.08.2014, 01:03. Показов 13487. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно стоит задача отсортировать большой текстовый файл (до 2тб) состоящий из строк длинной менее 100 символов. Решил разбить файл по частям (скажем по 2гб), отсортировать их, а потом получившиеся отсортированные .tmp файлы (порядка 1к файлов) склеить воедино. Завис на этапе склейки. Подскажите, как организовывать склейку отсортированных файлов? Гугл сказал что через merge sort но ведь на выходе у нас все равно получится 2 огромных файла по 1тб которые мы в итоге не сможем поместить в память, не могу уловить суть в склейке этим методом.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.08.2014, 01:03
Ответы с готовыми решениями:

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

Загрузка больших текстовых файлов
Подскажите пожалуйста,как можно спроецировать файл в память (текстовый) и обработать его (необходимо удалить все дубликаты строк)...

Парсинг больших текстовых файлов
Добрый день! В общем столкнулся с задачей отпарсить текстовик на 4 миллиона строк (в примере код для пары тысяч строк). ...

2
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
20.08.2014, 01:30
А кто сказал, что отсортировав по отдельности части по 2 гб и после склейки их, вы получите отсортированный файл 2тб.
Пример
Нужно отсортировать последовательность: 6 4 2 8 3 0 1 7 5 9.
Я разбиваю ее на 2 части: 1) 6 4 2 8 3 и 2) 0 1 7 5 9.
Сортирую их : 1) 2 3 4 6 8 и 2) 0 1 5 7 9
Склеиваю : 2 3 4 6 8 0 1 5 7 9
Разве это верно?
Поправьте, если я не прав?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
20.08.2014, 02:20
Цитата Сообщение от some_name Посмотреть сообщение
А кто сказал, что отсортировав по отдельности части по 2 гб и после склейки их, вы получите отсортированный файл 2тб.
Так автор же и сказал
Цитата Сообщение от Mindc0d3 Посмотреть сообщение
Решил разбить файл по частям (скажем по 2гб), отсортировать их, а потом получившиеся отсортированные .tmp файлы (порядка 1к файлов) склеить воедино. Завис на этапе склейки.
Цитата Сообщение от Mindc0d3 Посмотреть сообщение
Гугл сказал что через merge sort но ведь на выходе у нас все равно получится 2 огромных файла по 1тб которые мы в итоге не сможем поместить в память
Так а их и не обязательно в памяти все держать.

Цитата Сообщение от Mindc0d3 Посмотреть сообщение
не могу уловить суть в склейке этим методом.
Допустим, у вас имеется n отсортированных файлов, которые надо слепить воедино.
1. Открывайте FileStream на финальный файл
2. Открывайте n FileStream'ов — по одному на каждый из мелких отсортированных файлов.
3. Считывайте по одной строчке из каждого файла.
4. Найдите строчку, которая "меньше" всех остальных.
5. Запишите эту строчку в финальный файл.
6. Найдите FileStream, из которого вы считали эту строчку
7. Считайте следующую строчку из этого же потока.
8. Если строчек больше нет, то закройте этот поток и удалите временный файл.
9. Если все файлы были закрыты и удалены, то работа завершена, закройте поток в финальный файл.
10. В противном случае goto 4.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.08.2014, 02:20
Помогаю со студенческими работами здесь

Редактор больших текстовых файлов
Посоветуйте пожалуйста текстовый редактор, который без проблем открывает большие файлы (2 - 3Гб).. мне в этом плане понравился Ultraedit,...

Чтение и отображение больших текстовых файлов
Всем привет. Ребят, подскажите решение проблемы. Мне нужно считать текстовый файл, размером 1гб и больше. И отобразить его содержимое в...

Обработка текстовых файлов (логов) больших размеров
Добрый день. Хочу написать "обработчик" текстовых логов. Логи очень большие (к примеру бывают 20000 строк и больше). Логи состоят...

Загрузка больших текстовых файлов в массив и сверка
Всем привет: Имеем: Два текстовых файла размером примерно по 100MB каждый. Каждый имеет вид: 0685e61279875c8382756fe417ef0ccb ...

Автоматизированный cбор данных из больших (до 100мБ) текстовых файлов
Помогите решить проблему( на VB встроенном в эксель,наверно): написать макрос для автоматизированного cбора данных из больших (до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru