Реклама на сайте Advertise with us

Сортировка больших файлов

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:
+ +
WP-Master

С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123


Передовик Master-X (16.02.2015) Передовик Master-X (01.03.2015)
Ссылка на сообщениеДобавлено: 22/01/13 в 07:23       Ответить с цитатойцитата 

grozny: только 700 гиг в базу на выходе она будет совсем другой.

-2
 



С нами с 14.02.12
Сообщения: 26

Ссылка на сообщениеДобавлено: 22/01/13 в 08:41       Ответить с цитатойцитата 

а че не поставить рейд масив? у меня файл 3 гига парсится мгновенно..

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 22/01/13 в 09:10       Ответить с цитатойцитата 

я скрипт не нашел, видимо похерел после переезда, сорри icon_sad.gif

0
 



С нами с 15.07.11
Сообщения: 2990
Рейтинг: 198

Ссылка на сообщениеДобавлено: 22/01/13 в 12:37       Ответить с цитатойцитата 

Даже тупо прочитать/записать 700 Гигов это порядка 4 часов. А сколько sort отрабатывает интересно?

0
 



С нами с 22.05.04
Сообщения: 268
Рейтинг: 251

Ссылка на сообщениеДобавлено: 22/01/13 в 15:38       Ответить с цитатойцитата 

как вариант, если нужна только уникальность, в один "проход" при достаточной памяти

- выделяется общая для всех потоков/процессов область памяти под задачу, адреса в однозначном соответствии с crcXX по заданному правилу, значение бита памяти 0/1 в зависимости от того есть строка или нет (если требуется атомарность то 2 бита) (для crc32 потребуется 4гб(8гб))

- указывается максимум N фрагментов, на которые делится исходный файл для обработки, как вариант - автоматом с указанием Y кб на 1 фрагмент

- поток/процесс берет Nую часть по порядку, считывает заданное кол-во байт с общего файла начиная с рассчетного оффсета с первого найденного конца строки (или начала файла для первой по порядку) до последнего конца строки с учетом заданной длины фрагмента, и инкриментирует порядковое число взятых в обработку фрагментов на 1 (атомарно)

- поток/процесс считает crcXX строки, проверяет соответствующее значение бита в памяти, если 0 - меняет на 1 (если нужна атомарность реализует через второй бит) и пишет в общий файл уникальных записей, если 1 - игнорит

- потоки/процессы плодятся до оптимальной загрузки, отслеживаемой или в реалтайме, или до изначально заданного максимума потоков/процессов

Нестандартные задачи. Кастом программинг на ПХП. Оптимизация стороннего кода. Недорого, недешево.

1
 



С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506

Ссылка на сообщениеДобавлено: 22/01/13 в 20:13       Ответить с цитатойцитата 

Дартаньян писал:
grozny: только 700 гиг в базу на выходе она будет совсем другой.

ну будет больше, не вижу проблемы. если постоянно нужно - надо винтов добавить есессно.

0
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 24/01/13 в 12:32       Ответить с цитатойцитата 

сори, с ребенком дома сидел, в сеть не выходил.
в файликах разное кол-во строк. ну в среднем около 1.5-2 миллиарда.
там народ интересовался сколько времени sort отрабатывает - около 3 суток. сейчас заметили интересную вещь, файлики можно сортить параллельно =)
т.е. можно запускать 4 сорта на 4 разных файла. при этом нагрузка на винты не растет, т.к. каждый файл положили на отдельный диск.
в принципе теперь получается приемлемая скорость, наверное.
спасибо всем. рад что есть люди, которые любят нестандартные решения =)
еще раз всем спасибо

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »