Blog

  • +
    Workshop: Hands-on Oracle Database Appliance | Thiene – 26 novembre
  • +
    Voucher per l’Innovation Manager
  • +
    Miriade a Università Aperta IES Padova
  • +
    DevOps in azienda, come, dove, quando e perché?
  • +
    AWSome Day Padova, il racconto dell’evento
  • cloud digital transformation social
    +
    Il cloud al centro della digital transformation
  • +
    Webinar ODA e Dbvisit Standby: scopri come semplificare la gestione del tuo database | 26 settembre
  • SOPHOS EVOLVE
    +
    Il futuro della cybersecurity ti aspetta a Verona e Roma con Sophos Evolve
  • Google Hangouts Meet
    +
    È il momento di ridisegnare la tua sala riunioni con gli hardware Google
  • +
    Arcadia Data accelera gli insight di Cloudera
  • +
    Sicurezza IT: come migliorare la fiducia in azienda
  • +
    CORSO FAST TRACK ADMIN: UPGRADE ALLA VERSIONE G SUITE BUSINESS

ETL … tra le nuvole. La potenza di una macchina nel cloud

By Camilla Mantella 4 anni faNo Comments

Il problema

Sfruttare la potenza di una macchina nel cloud per migliorare le prestazioni dei nostri job di ETL

La soluzione

Ricorrere alla configurazione master/slave di PDI Pentaho Data Integration, uno strumento che offre soluzioni ETL open source

Il procedimento in dettaglio

Abbiamo effettuato una doppia installazione di PDI, sulla nostra macchina locale, che ha assunto il ruolo di master, e sulla macchina AWS (Amazon Web Services) nel cloud, che ha assunto il ruolo di slave. Fatto questo, il passo successivo è stato quello di mettere in comunicazione le due.
Abbiamo indicato quindi alla macchina slave la porta su cui esporre il servizio “carte” di PDI, che permette di eseguire i job. Tale servizio rimane in ascolto, in attesa che dal master arrivino le chiamate insieme ai pacchetti contenenti le trasformazioni da eseguire.

Con questa configurazione è infatti sufficiente creare e salvare le trasformazioni dei nostri job unicamente nel repository dell’installazione PDI master. Sulla macchina slave basta creare un repository fittizio ed inserire nel file repositories.xml il nome del repository del PDI master. (Il file repositories.xml contiene le indicazioni sulle connessioni ai diversi repository di PDI, in modo che PDI possa recuperare le informazioni sulle trasformazioni che deve eseguire).

Lo scopo di quest’ultima operazione è “ingannare” il PDI slave e fargli credere che le trasformazioni che eseguirà siano effettivamente presenti nel repository slave, quando invece risiedono nel master

A questo punto è possibile chiamare una trasformazione in locale e farla eseguire in remoto. Et voilà, il gioco è fatto.
Abbiamo testato l’utilità della procedura migliorando una trasformazione che effettuava un confronto fra due tabelle che risiedevano su due database su due macchine diverse, una locale e una in cloud, e che veniva eseguita in 15 minuti di tempo. Adottando la configurazione master/slave abbiamo introdotto un ulteriore step per trasferire i dati della tabella del master ad una nuova tabella dello slave in modo da poter eseguire interamente da remoto, cioè sul PDI slave, lo step di confronto dei dati. La trasformazione gira ora in 2 minuti circa!

Category:
  Database
this post was shared 0 times
 000

Leave a Reply

Your email address will not be published.