Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2010, 11:25   #1
erosss
Новичок
Джуниор
 
Регистрация: 05.05.2010
Сообщений: 2
По умолчанию Обработка большого текстового файла и составление по нему отчета

Как можно реализовать отчет и на чем лучше писать . Есть текстовый файл около 700 мегабайт и количеством строк около 5 миллиона .
Данные в файле имеют вид :

login data ip traffic
---- ---- --- -----

Дело в том что один и тот же логин может встречаться несколько раз,если значения data разные .

Нужно вывести :
суммарное количество трафика по каждому пользователю и общее.
erosss вне форума Ответить с цитированием
Старый 05.05.2010, 11:31   #2
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

=I= способ
1 ) пробегись по файлу
2) найди все различные логины и посчитай суммарный трафик
3) с каждым из найденных логинов пробегись еще разок
4) и посчитай трафик для каждого логина
ну а способ реализации зависит от выбранного ЯП
=II= способ
закинь файлик в базу и работай SQL-ем
Готов помочь за денюжку в реализации на delphi!{аська в подписи}
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!

Последний раз редактировалось DoDge_VipeR; 05.05.2010 в 11:34.
DoDge_VipeR вне форума Ответить с цитированием
Старый 05.05.2010, 11:44   #3
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

можно допустим идти по файлу, добавлять логин и суммировать трафик для каждого логина и одновременно для всех логинов считать сумму трафика в какойнибудь ассоциативный массив( например прекрасно подойдет std::map, таким образом получим контейнер со всеми логинами и для каждого логина сумму трафика и общую сумму. Язык C++. Кол-во операций добавления будет равно кол-ву строк в файле умножить на кол-во пробеганий по словам. Всё посчитается и выведется за считанные секунды.

Последний раз редактировалось NiCola999; 05.05.2010 в 11:48.
NiCola999 вне форума Ответить с цитированием
Старый 05.05.2010, 11:45   #4
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

ничего лучше нельзя придумать как бегать по строкам (если у вас только текстовый файл)
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 05.05.2010, 12:07   #5
erosss
Новичок
Джуниор
 
Регистрация: 05.05.2010
Сообщений: 2
По умолчанию

а возможно написать это на php ? и если да то на сколько долгими будут расчеты ?
erosss вне форума Ответить с цитированием
Старый 05.05.2010, 12:31   #6
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

зависит от алгоритма, то что я выше написал выполнится меньше чем за минуту
NiCola999 вне форума Ответить с цитированием
Старый 05.05.2010, 13:18   #7
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

сконвертить в БД и выполнить два простых запроса. Первый группирует по логину и считает трафик каждого пользователя. Второй - считает суммарный трафик.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка данных из таблицы и составление отчета! WildKosha Microsoft Office Excel 20 25.02.2013 16:11
Обработка большого кол-ва текстовых данных (Excel 2010) motorway Microsoft Office Excel 9 27.03.2010 00:47
Поиск цисел и составление отчета Solution Machine Microsoft Office Excel 5 03.02.2010 15:42
Как отсечь имя файла и получить путь только к нему? Dux Общие вопросы Delphi 8 25.05.2008 20:24