Visualizzazione post con etichetta database. Mostra tutti i post
Visualizzazione post con etichetta database. Mostra tutti i post

sabato, dicembre 08, 2012

Lavorare su grossi file di testo

Quando devi migrare un database da un dbms ad un altro o esistono dei tool fatti e testati che fanno questo lavoro, oppure te li crei oppure ti esporti tutto in un bel file sql corposo e cerchi di ricaricare i vecchi dati sulle tabelle nuove.
Nel caso recente, un db con 25milioni di record su PostGres da migrare a Mysql, dumpato in plaintext sql ha generato un file di 2.4GB e spicci.
Problema: una volta creato il file sql scopri che alcune righe all'inizio del file generano errori e bloccano l'importazione. Che fare? Se hai a disposizione una shell Unix-like:
  • giochi con tail/awk
  • provi ad editare con vi il file e salvarlo
  • (cosa che mi sembrava più utile) splitti il file in file più piccoli da 500k righe l'uno e poi editi il primo

Su Windows le cose sono naturalmente più fastidiose:
ho sempre usato editor di testo derivanti dalle librerie Scintilla (SciTe ed Notepad++ in primis), sono belle potenti ma hanno il bruttissimo difetto di diventare praticamente inutili quando si trovano di fronte file grossi.

Update 1: mi è venuto in mente che in realtà per Windows Server esiste un resource kit contenente il tail.
Oppure si può usare il comando more +numero_di_righe.
Resta il fatto che  non esiste il comando split nativo, bisogna giocare con il rognoso FOR di DOS.

Soluzione commerciale il caro vecchio UltraEdit, che è a pagamento ma devo dire, non mi ha mai deluso.
Cercando su Stackoverflow ho poi trovato una chicca: TheGun un vecchio editor scritto in assembler e il suo successore, TopGun



Il primo è riuscito ad aprire il file ma aveva problemi nel modificarlo, il secondo ha aperto il file e mi ha permesso di modificarlo come UltraEdit.


Ora, naturalmente in quesot caso si lavorava a bocce ferme e mi sto iniziando a studiare il funziamento degli ETL con Pentaho, perchè non ho a disposizione SSIS di Microsoft, ma la curiosità mi è rimasta.
Quali consigli avete per editare GROSSI file di testo? Script/linguaggi/editor, qualsiasi suggerimento è gradito.

mercoledì, settembre 19, 2012

"il cliente é morto senza chiudere la connessione..."

Dopo poco tempo ho ripreso ad usare MySQL e il caro PhpMyAdmin.
Quest'ultimo ha sicuramente fatto molti progressi per quando riguarda l'interfaccia, dopo l'adozione di JQuery. In compenso a volte la localizzazione di alcune stringhe ti lascia un po' basito :)


venerdì, gennaio 27, 2012

Racconti dalla Caserma-Asilo

Da un po' di tempo trascrivo episodi di vita lavorativi degni di nota, in particolare epiche supercazzole fatte a colleghi a volte troppo invadenti.
Ritengo d'uopo aprire quindi questa nuova pseudo-rubrica dedicata al nerdismo informatico e al sano trollamento dei rompicoglioni. Spingo tutti i collaboratori e/o sostenitori di R'Lieh a contribuire con altri racconti

Episodio di oggi
Impiastro #1 al collega Biancosarti: "Ma quindi è possibile implementare delle virtual dimensions sul progetto?"
Biancosarti: O_O ... pensando "maledetto impiastro rompicoglioni"... "Ma stiamo parlando di un deploy in ambiente totalmente ROLAP?"
Impiastro#1 KO
Applausi a scena aperta per il collega Biancosarti 

Piccolo appunto nerd del giorno:
Installare Sql Server è a volte buffo, gli errori generano entropia su entropia nel sistema. Prima il setup della R2 si fermava con un popup del tipo "Sintassi MOF errata".  Ora il popup è diventato un più minaccioso SKU.!
Provando a fixare l'installazione, l'istanza di SQL è diventata come per magia un cluster failover (di non so cosa cluster... l'ignoto penso)
Ah, cmq MS fornisce sempre i suoi bei CU con tutte le fix integrate, peccato al momento abbia una chiavetta con un limite di traffico giornaliero di circa 100MB...
Update: dopo n riavvii e disinstallazioni varie, sono riuscito a completare il setup, grazie MS
.