Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parsowanie dużego pliku .txt, Wyszukiwanie danych w pliku tekstowym 90MB
danket
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.12.2007
Skąd: inąd :)

Ostrzeżenie: (0%)
-----


Witam!
Pytanie moje dotyczy problemu, a w zasadzie możliwości przeparsowania dużego, wręcz ogromnego pliku .txt
Buduję serwis związany z nieruchomościami. Wszystkie oferty oraz wszystkie transakcje na rynku nieruchomosci od mniej więcej 1995 roku znajdują się w bazie danych, baza natomiast zarządzana jest przez system MLS (Multiple Listing Service). Jak nietrudno się domyślić, baza jest ogromna (w chwili obecnej około 100,000 pozycji). Każdej nocy system MLS-u zrzuca zawartość bazy do pliku txt w postaci 1rekord->1linia, a więc każdej nocy powstaje plik ze stu tysiącami linii, co daje mniej więcej około 90MB. Jako firma zrzeszona w systemie MLS mamy dostęp do owego pliku przez FTP i tylko przez FTP, nie ma w ogóle dostępu do dB.
Plik tekstowy wygląda mniej wiecej tak:

idNieruchomosci|idSystemowe|typNieruchomosci|idFirmy|idAgenta|cenaNieruchomosci|
..|...|...|.. itd
i tak 100,00 razy :)

Pytanie moje brzmi: czy ktokolwiek z szanownych forumowiczów miałby jakiekolwiek sugestie, jak w tak ogromym pliku, do którego jest tylko i wyłącznie dotęp przez FTP, wynaleźć te linie, które spełniają określone kryteria? Np. jak znaleźć takie linie, w których na pozycji 'idFirmy' występuje '123456' ? Bez większego wysiłku umysłowego fgets() i fscanf() odrzucam. Nie przy tak ogromych plikach. Jak to ugryźć? Przypominam, że plik znajduje sie na serwerze zdalnym, kosmicznie szybkim, ale jednak zdalnym, a
CODE
fopen('ftp://user:pass@server.com','r');

nie sprawia żadnego problemu.

Czy ktoś w ogóle z was spotkał się z takim zagadnieniem? Znalazłem pewne sugestie dotyczące parsowania dużych xml-i, ale tu dochodzi ewentualne wyszukiwanie w stringu. Zwracam się o pomoc, bo przetestowałem większośc możliwości.

Dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
danket
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.12.2007
Skąd: inąd :)

Ostrzeżenie: (0%)
-----


Witam!
Dzięki wielkie za podpowiedzi dotyczące problemu.
@phpion.com && @nekro - niestety, kompletnie nie mam dostępu do niczego niż zrzut bazy w podanej formie :/
@phpio.com - nie, w ściągnięciu pliku nie ma problemu, może niejasno się wyrazilem, łącza są na tyle szybke, że gigowe pliki wręcz fruwają (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
@tomeksobczak && @netmare - dzięki za info o bazach, ukoiliście moje skołatane stare serce (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Tak jak napisałem, nigdy nie musiałem pracować na bazach większych niż 1000/2000 rekordów więc 100,000 wydawało mi się czymś ogromnym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jeszcze raz dzięki, po skończeniu podeślę rozwiązanie, może się przyda na forum.

Dan
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 05:58