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

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

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

Сообщение pupsik » 28.07.2016 18:27:19

В общем "загорелся" идеей велосипедо/строения: https://www.youtube.com/watch?v=0PwAXNYyOwo
Интересуют плюсы/минусы. Возможно пожелания.
В принципе план действий имеется. Но, возможно, что то необходимо добавить, убрать. Вариации в общем...

п.с.
Видео никогда нормальное не получалось. Поэтому темы не касается :)
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

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

Сообщение azsx » 29.07.2016 19:52:11

сил посмотреть видео не хватило. Беда в том, что я с видео тяжко воспринимаю чо то умное.
я не понял в чем смысл программы (у меня пожелание, напишите словами, пожалуйста). Отмечу, что когда я делал выборки с кеев пастухова (60 гб тхт) - то всякие правки делал там tr, sort и искал grep. Например, grep делал выборку в 60 гб (сложную) по скорости отдачи от винта (9 минут), а sed тот же запрос 11 минут.
Также sort требует специального указания где хранить временные файлы, а то у меня место забивалось под tmp.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

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

Сообщение pupsik » 29.07.2016 20:33:32

azsx "выборка" - это поиск значения? Можете в личку точнее описать что вам необходимо было от "пастуха"?
"sort" - полная сортировка в базе для последующего поиска?

Кратко - сравнить два файла на уники и залить в основной. Плюс "выборка" уников из файла (с нюансами) - пока его доделываю.
Данные не должны быть отсортированы и не должно быть ограничений по их размеру, плюс "скорость" обработки должна быть в пределах 5 мин при тех же условия, плюс память не жрать безбожно - окончательный вариант.

п.с.
60гб хм.. если из того что я у себя делал то поиск и формирование файла результата "вложится" в 3 минуты без особой "тяжести" на память... Это всё без предварительной подготовки файла.
Если файл отсортирован то теоретически в минуту должно вложится. Если не быстрее. Ведь выбирать из "середины" куда быстрее нежели пробегать всю дистанцию.

Добавлено спустя 1 час 59 минут 23 секунды:
В догонку: чем не устроило "гуи" пастухова? Т.е. зачем использовать сторонние утилиты? Там ведь, кажись, оптимизирован поис и выборка (гуи)...
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

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

Сообщение azsx » 30.07.2016 01:16:14

Кратко - сравнить два файла на уники и залить в основной. Плюс "выборка" уников из файла (с нюансами) - пока его доделываю.

ясно.
Можете в личку точнее описать что вам необходимо было от "пастуха"?

могу и без личек :)
Некоторое время назад для гугла было крайне желательно в некоторых местах страницы (ссылки, титлы, альты) использовать именно такие пассажи, которые когда то набирали люди. База пастухова предлагает именно такие запросы (с кучей мусора). Например, я делаю сайт об кондиционерах. У меня есть страница, описывает как выбирать кондер в машину. Я делаю выборку
grep -i -n 'кондиционер' past.txt | grep -i -n 'автомобил' (или) 'машин'
то есть выведет все строки, в которых есть подстрока кондиционер, а также автомобил или машин (забыл на память как я или делал). Поддерживаются регулярки. Сейчас это не актуально, законсервировал всё.
---
команда сорт - это подобие вашей программе. То есть я получал второй файл с запросами. Их надо было склеить и удалить дубликаты, это делал сорт достаточно долго. Также никс командами менял кодировки, регистр. Слабо помню уже по времени и командам.
---
Когда я делал много выборок, например, 1000 - скорость более чем актуальна. Я пытался архивировать данные пакетами (забил, крайне сложно) и разделял данные на несколько винтов с одновременной выборкой. Скорость работы греп - это скорость работы винчестера. То есть обрабатывал он 100 мбайт и выше по скорости в секунду для hdd. Интересно, как вы обработаете за 1 минуту файл в 60 гб?
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

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

Сообщение pupsik » 30.07.2016 17:20:22

azsx не...е: я имел в виду простой происк. Без "условий"...
А вот за напоминание "базы пастухова" - сенкс. А то пришлось множить, а это не много не то.
Чем вас не устроило его гуи? Судя по его описанию оно оптимизировано. Или не сильно?
Вы "букварикс" не пользовали случаем? В каком формате у них база?

Добавлено спустя 1 час 12 минут 6 секунд:
По поводу минуты. Теоретически... Если перелить из текстового формата в адекватный вариант. Т.е. постер, мускул. С построением индекса. Возможно поиск будет быстрее. Но это влечёт за собой увеличения размера. Т.е. где то 100 гб сожрет. Плюс необходимо учесть нюансы. Зато, если не ошибаюсь, скорость выборки возрастет. Но для этого необходимо потратить время на построение бд.
Если же учитывать последовательный поиск (использование регулярок) то теоретически можно ускорить выборку из файла. Но это требует проверки (по крайней мере для меня).

п.с.
А букварикс sqlite, кажись, пользует.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

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

Сообщение azsx » 30.07.2016 19:25:41

azsx не...е: я имел в виду простой происк. Без "условий"...

и я о том же, есть разные варианты поиска и сливания баз тхт с "условиями". А у вас даже условий для поиска никаких :)
Чем вас не устроило его гуи? Судя по его описанию оно оптимизировано. Или не сильно?

гуи прекрасное (и недорогое, для буржуев). Только моим методом я обрабатывал страницы автоматически (генерировал дор), а с гуи мне пришлось бы как то выкладывать инфу. зы выборка по пастухову медленее, чем греп в никс.
Вы "букварикс" не пользовали случаем? В каком формате у них база?

Они сами писали. Типа они сжали данные и в постгрес. На делфи написан, кстати.
Но это влечёт за собой увеличения размера. Т.е. где то 100 гб сожрет

оптимист! На официальном мануале постгреса как то читал, что если вы взяли текстовых строк на 10 гб и хотите загнать их в БД, то надо размер умножить на 5.
Зато, если не ошибаюсь, скорость выборки возрастет.

щас тему для вас (таких умных) создам. вот viewtopic.php?f=13&t=11251
зы
кстати вы видали аналоги для винды поиск кеев в тхт, например KeyWordKeeper.exe?
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

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

Сообщение ev » 30.07.2016 21:44:18

смотреть 27 минут видео вместо того чтобы прочитать несколько абзацев текста? :roll:
тут есть вообще люди, которые до конца досмотрели? ;)
может стоит описать текстом и сделать несколько скриншотов?
ev
долгожитель
 
Сообщения: 1763
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

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

Сообщение Pavia » 30.07.2016 22:46:12

тут есть вообще люди, которые до конца досмотрели?

А смысл? Автор сам написал, что его смотреть не надо.
Видео никогда нормальное не получалось. Поэтому темы не касается

Может просто забанить pupsik 'а за бред?
Аватара пользователя
Pavia
постоялец
 
Сообщения: 290
Зарегистрирован: 07.01.2011 12:46:51

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

Сообщение pupsik » 30.07.2016 23:30:21

А у вас даже условий для поиска никаких
для меня есть разница: поиск вхождения или сравнить на идентичность. Хотя время - много занимает. Но я видел и куда хуже варианты при аналогичных условиях.
Типа они сжали данные и в постгрес.
хм.. и почему в туториале ( в контакте) импорт в их базу возможен через менеджер sqlite?
щас тему для вас (таких умных) создам.
хм.. т.е. вы считаете что с текстовым файлом будет работа быстрее нежели с индексированной базой.
Т.е., если для примера, взять букварикс. У них ведь описано время выборки. И их вариант основан на бд. И вроде условия соответствуют вашим...
кстати вы видали аналоги для винды
видал и не только. И как бы сказать не всё хорошо и прекрасно. И для работы с большими файлами не всегда подходят.

KeyWordKeeper сколько времени он дубли ищет? С какой кодировкой может работать? Какие объемы обрабатывает?

ev учту...

п.с.
Pavia хм... весьма интересно... Т.е. вам что то не угодно - отрежем... Весьма странное как то. Хотя: каждому свое. Или я "зацепил" то что вы пытаетесь сделать (сделали). И надо забить конкурента до появления более вменяемого результата? :mrgreen:
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

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

Сообщение azsx » 31.07.2016 03:37:31

поиск вхождения или сравнить на идентичность.

тогда надо признать что я даже не понял сути вашей программы. Вам всё таки надо написать несколько абзацев, я также видео не досмотрел.
и почему в туториале ( в контакте) импорт в их базу возможен через менеджер sqlite?

значит я ошибаюсь. Хотя я бы 60 гб в sqlite обрабатывать бы не смог (зависает). Дайте, пожалуйста, ссылку, так как я импортировать данные в букварикс не умею.
т.е. вы считаете что с текстовым файлом будет работа быстрее нежели с индексированной базой.

нет, не считаю! Выборка ilike по полю в БД постгрес значительно медленее, чем grep'ом выбрать.
И их вариант основан на бд. И вроде условия соответствуют вашим...

нет, не соответствие с темой viewtopic.php?t=11251&view=unread#unread
У них мало данных, они их продублировали всеми способами и добились выборки на несколько сотен записей мгновенно. Экпорт у них делается значительно дольше (логично для БД).
---
Я меряю скорость так. Винт hdd читает данные от 100 до 180 мб в секунду. То есть (1e+11/1e+8)/60 = 16,7 минут. Логично, что если вы сперва читаете файл, а потом записываете его на этот же диск - то будет 32 минуты минимум. Если времени на обработку 100 гб файла вашей программе требуется больше, то значит вы или не верно читаете - пишите на винт, или внутри программы работает сложный числодробительный алгоритм.
Так вот grep делает выборку по скорости отдачи от диска (100 мбайт и выше).
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

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

Сообщение pupsik » 31.07.2016 03:57:41

Я меряю скорость так.
есть нюансы вариантов работы и подсчёта.
И я меряю "скорость" при рабочем варианте. Т.е. как программа отработает.
И да: на данном этапе программа медленная по нескольким причинам. Основная - я (и дело не в кривости).

п.с.
тогда надо признать что я даже не понял сути вашей программы
поэтому в "потрепаться"... Хотел кое что узнать. В т.ч. насколько понятно изъясняюсь. Надо свои баги подправить. ev точно подметил... 3 строчки в точку :lol:
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13


Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

Рейтинг@Mail.ru