Čtení a parsování textového souboru

Honza

Re:Citanie a parsovanie zo suboru
« Odpověď #15 kdy: 02. 08. 2017, 22:11:41 »
Je také možné ty řádky seřadit podle nějakého hledaného pojmu, a vyhledávat až v těch seřazených řádcích, potom klidně půlením intervalu, nebo ten soubor rovnou podle toho rozdělit...


Kit

Re:Citanie a parsovanie zo suboru
« Odpověď #16 kdy: 02. 08. 2017, 22:24:04 »
Je také možné ty řádky seřadit podle nějakého hledaného pojmu, a vyhledávat až v těch seřazených řádcích, potom klidně půlením intervalu, nebo ten soubor rovnou podle toho rozdělit...

To už rovnou můžeš ty logy nasypat do databáze, indexovat a pak se v tom přehrabovat dle libosti.

Youda

Re:Citanie a parsovanie zo suboru
« Odpověď #17 kdy: 02. 08. 2017, 22:25:14 »
Pokud se jedna o jednorazovou ulohu, jako prvni pokus bych zkusil prekopirovat ten soubir na Linux a napsat skriprik v perlu 5.x.

Java nebo .Net bude na toto IMHO pomerne pomaly z duvodu jeji h zpusobu prace s pameti.

A ani bych se nebal v perlu si vyhledane udaje ruznych typu narvat do hashmaps a pak vzajemne korelovat.
Perl je na tyto ucelynprekvapivne rychly.

Chce to ale system se slusnou implementaci perlu a se slusnym memory mngmt, to wokenice rozhodne nejsou.

gll

Re:Citanie a parsovanie zo suboru
« Odpověď #18 kdy: 02. 08. 2017, 22:27:16 »
Mluvit o logaritmické složitosti v souvisloslosti s paralelizací je nesmysl. Nejde o přečtení souboru, ale provádění operace s řádky. To se dá paralelizovat.
Ale to bylo špatně pochopeno, měl jsem namysli, že to zpracování lze urychlit i bez té paralelizace, paralelní zpracování lze samozřejmě použít i potom...

obecný regulární výraz v databázi nejde hledat s logaritmickou složitostí. Index vám pomůže pouze u prefixu nebo přesné schody.

Honza

Re:Citanie a parsovanie zo suboru
« Odpověď #19 kdy: 02. 08. 2017, 23:01:19 »
Mluvit o logaritmické složitosti v souvisloslosti s paralelizací je nesmysl. Nejde o přečtení souboru, ale provádění operace s řádky. To se dá paralelizovat.
Ale to bylo špatně pochopeno, měl jsem namysli, že to zpracování lze urychlit i bez té paralelizace, paralelní zpracování lze samozřejmě použít i potom...

obecný regulární výraz v databázi nejde hledat s logaritmickou složitostí. Index vám pomůže pouze u prefixu nebo přesné schody.
Zase chyba, toto nikde netvrdím, naopak, mám na mysli hledání v tom indexu, a pro konkrétní regulární výraz, ne pro obecný.
O databázi jsem se zmínil pouze mimochodem, protože ta je určena právě pro vyhledávání v nějakých datech, plain text soubor pro to vhodný není.


Kit

Re:Citanie a parsovanie zo suboru
« Odpověď #20 kdy: 02. 08. 2017, 23:47:09 »
O databázi jsem se zmínil pouze mimochodem, protože ta je určena právě pro vyhledávání v nějakých datech, plain text soubor pro to vhodný není.

Plaintext se dá také indexovat, v daném případě by to mohlo být i výhodné.

Honza

Re:Citanie a parsovanie zo suboru
« Odpověď #21 kdy: 03. 08. 2017, 00:19:46 »
O databázi jsem se zmínil pouze mimochodem, protože ta je určena právě pro vyhledávání v nějakých datech, plain text soubor pro to vhodný není.

Plaintext se dá také indexovat, v daném případě by to mohlo být i výhodné.
Achjo, to bude horkem... Však jo, plain text není vhodný pro vyhledávání v něm, hodil by se nějaký index, žeano? To tvrdím celou dobu...

lopata

Re:Citanie a parsovanie zo suboru
« Odpověď #22 kdy: 03. 08. 2017, 06:52:41 »
obecný regulární výraz v databázi nejde hledat s logaritmickou složitostí. Index vám pomůže pouze u prefixu nebo přesné schody.

Jde: https://swtch.com/~rsc/regexp/regexp4.html

jpu

Re:Čtení a parsování textového souboru
« Odpověď #23 kdy: 05. 08. 2017, 09:31:57 »
DB pouzit nemozno a linux tiez nie. Ti, ktori to budu pouzivat, tak maju windows stroje.
Na moje pocudovanie som zistil, ze aplikovat regex na kazdy riadok nie je spravne, lebo to strasne dlho trva. Pouzit string.contains a az potom aplikovat regex je rychlejsie. Bol som v domneni, ze regex su rychlejsie. Kazdy sa ucime :)

Lojza

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:Čtení a parsování textového souboru
« Odpověď #24 kdy: 05. 08. 2017, 14:28:47 »
jsem laik ale nepomohlo by nejdriv ten log file nahrat do ramdisku a pak na nej teprve aplikovat ty prikazy ?

Kit

Re:Čtení a parsování textového souboru
« Odpověď #25 kdy: 05. 08. 2017, 15:04:26 »
DB pouzit nemozno a linux tiez nie.

Však tu databázovou knihovnu můžeš zakompilovat do aplikace. Ani nebudou tušit, že tam nějaká DB je.

Můžeš si místo RE napsat vlastní regulární automat, který může být podstatně rychlejší.

Ivan Nový

Re:Čtení a parsování textového souboru
« Odpověď #26 kdy: 05. 08. 2017, 15:36:35 »
DB pouzit nemozno a linux tiez nie. Ti, ktori to budu pouzivat, tak maju windows stroje.
Na moje pocudovanie som zistil, ze aplikovat regex na kazdy riadok nie je spravne, lebo to strasne dlho trva. Pouzit string.contains a az potom aplikovat regex je rychlejsie. Bol som v domneni, ze regex su rychlejsie. Kazdy sa ucime :)

Použijte SQLite je to jen knihovna.

jpu

Re:Čtení a parsování textového souboru
« Odpověď #27 kdy: 05. 08. 2017, 15:48:55 »
DB pouzit nemozno a linux tiez nie.

Však tu databázovou knihovnu můžeš zakompilovat do aplikace. Ani nebudou tušit, že tam nějaká DB je.

Můžeš si místo RE napsat vlastní regulární automat, který může být podstatně rychlejší.
pisat si vlastny automat, ano je to moznost, ale cas na to nie je. vsak urcite viete, ako to funguje vo firmach :)

Jerry

Re:Čtení a parsování textového souboru
« Odpověď #28 kdy: 05. 08. 2017, 16:15:22 »
na profi parsování toho co píšeš (text) velké soubory sou nejlepší tyhle karty

http://www.mellanox.com/page/products_dyn?product_family=232&mtag=mtag_tilencore_gx36_q40_adapter

nebo

http://www.mellanox.com/page/products_dyn?product_family=231&mtag=tilencore_gx72_adapter


má to ale jednu nevýhodu musíš si je koupit za peníze :)

Kit

Re:Čtení a parsování textového souboru
« Odpověď #29 kdy: 05. 08. 2017, 16:45:42 »
Můžeš si místo RE napsat vlastní regulární automat, který může být podstatně rychlejší.
pisat si vlastny automat, ano je to moznost, ale cas na to nie je. vsak urcite viete, ako to funguje vo firmach :)

Za dobu, co tady zkoumáš varianty, jsi ho už dávno mohl mít. Není to tak těžké a je na to dost nástrojů, kterým předhodíš gramatiku a vyleze ti z toho hotový parser.