[Python] Leggere file stream
salvatore monaco
salvatore.monaco a gmail.com
Mer 7 Dic 2016 21:02:56 CET
Ciao ,
non ho letto tutto quanto ma ad occhio e croce dovresti usare gli strumenti
che il sistema operativo
ti mette a disposizione per il logging.
ruota i log, file da 1G non hanno tantissimo senso, processo il file che
non ha in append imput
sarà più agile per la memoria della macchina.
e invece che mandare su un db tipo relazionale usare db nosql tipo mongoDB
o strumenti tipo
ELK https://www.elastic.co/
Ciao
Io faccio cosi... e funziona abbastanza bene
Il giorno 7 dicembre 2016 19:43, Manlio Perillo <manlio.perillo a gmail.com>
ha scritto:
> 2016-12-07 17:17 GMT+01:00 Lorenzo Mainardi <lormayna a gmail.com>:
> >> Message: 7
> >> Date: Wed, 7 Dec 2016 16:02:10 +0100
> >> From: Manlio Perillo <manlio.perillo a gmail.com>
> >>
> >> Scrive sempre sullo stesso file, che quindi cresce indefinitivamente?
> >
> >
> > Sì, lo posso ruotare ogni ora od ogni giorno (a seconda di come mi fa
> > comodo).
> >
>
> In questo caso puoi fare quello che fa `tail -f`.
>
> Una veloce ricerca con "python read logfile realtime" produce:
> http://stackoverflow.com/questions/3290292/read-from-a-
> log-file-as-its-being-written-using-python
> http://stackoverflow.com/questions/11908919/python-
> parsing-log-file-to-extract-events-in-real-time
>
> >
> >>
> >>
> >> > Vorrei parsare il file in tempo reale riga per
> >> > riga e poi inserire i dati in un DB.
> >> > Come posso fare?
> >>
> >> Non mi sembra troppo complesso, cosa hai provato a fare?
> >
> >
> >
> > Per ora niente, volevo capire se con python potevo "seguire" un file per
> poi
> > parsarle.
>
> Come detto, "seguire" un file in tempo reale non è un problema.
>
> > Le linee sono raggruppate per ogni autenticazione e separate da
> > una linea bianca. Dovrò quindi aggregarle per ogni autenticazione,
> infilarle
> > in un dizionario, fare delle elaborazioni e buttarle nel DB.
> >
> >>
> >>
> >> > Ho letto un po' di documentazione del modulo io nella
> >> > libreria standard, ma non so se è lo strumento adatto.
> >> >
> >>
> >> Non ti basta leggere il file linea per linea, parsare (eventualmente)
> >> i dati e inviarli tramite un INSERT nel database?
> >
> >
> > La mia unica paura è che non ce la possa fare a stargli dietro (il file è
> > circa 1 milione di righe al giorno).
> >
>
> Il collo di bottiglia dovrebbe essere l'I/O, in particolare il
> database, quindi se non riesci a stargli dietro in Python
> probabilmente non ci riuscirai nemmeno se riscrivi il programma in C.
> Ma con una semplice bozza dovresti capire se la cosa è fattibile.
>
> Che database devi usare?
>
>
> Ciao Manlio
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
--
@salvatoremonaco
http://blog.smitsolution.net
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20161207/be2b0a85/attachment-0001.html>
Maggiori informazioni sulla lista
Python