SINTRA DIGITAL BUSINESS
ETL on Cloud: Azure Data Factory
Come sfruttare gli strumenti cloud Azure per fare ETL e vantaggi rispetto ai tool on-premise
1
SINTRA DIGITAL BUSINESS
Una presentazione veloce
Leonardo Marcucci
Software architect e R&D in Sintra, principalmente in ambito web.
IoT e home automation enthusiast (anche) al di fuori del lavoro.
Appassionato di cinema/serie tv e videogiochi/giochi da tavolo.
2
SINTRA DIGITAL BUSINESS 3
LE ORIGINI
SINTRA DIGITAL BUSINESS
ETL: Extract, Transform, Load
4
Ottenere i dati eterogenei necessari da più
sorgenti (file, DB, CRM…) in formati differenti
(CSV, JSON, tabelle SQL…)
Extract
Manipolare i dati per portarli al formato
desiderato
Transform
Caricare i dati trasformati in una destinazione
adatta agli usi futuri (file, DB, Data
Warehouse…)
Load
E T L
SINTRA DIGITAL BUSINESS
Cosa c’era prima: ETL on-premise
5
Licenze, server privati...
Costi fissi
In carico all’utente, oneroso in termini di
tempo
Installazione e manutenzione
Come fare per elaborare moli enormi di dati?
ScalabilitàETL
Questi strumenti funzionano! Gli
aspetti negativi:
SINTRA DIGITAL BUSINESS 6
LA RIVOLUZIONE
DEL CLOUD
SINTRA DIGITAL BUSINESS
Azure
Data Factory (ADF)
Strumento ETL visuale nel cloud Azure di Microsoft, con tantissimi connettori per le
sorgenti dati. Gira completamente serverless e non richiede l’installazione di agent a
bordo macchina.
7
SINTRA DIGITAL BUSINESS
ADF: concetti fondamentali
8
Raggruppamento di attività che esegue un’operazione ETL
sui dati
Pipeline
Singolo passo di una pipeline che agisce sui dataset
Attività
Particolare attività per la trasformazione ed il mapping dei
dati
Data flow
SINTRA DIGITAL BUSINESS
ADF: dataset e connettori
9
...e tanti altri
SINTRA DIGITAL BUSINESS
ADF: editor visuale - pipeline
10
SINTRA DIGITAL BUSINESS
ADF: editor visuale - data flow
11
SINTRA DIGITAL BUSINESS
ADF: risorse Azure
12
ADF non necessita di ulteriori risorse
Azure se non si necessita di utilizzare
Data Flow, altrimenti...
...occorre avere delle risorse per lo storage su
Azure, come Azure Storage Account oppure
Azure SQL Database
Azure Data Factory Azure Blob Storage Azure SQL Database
SINTRA DIGITAL BUSINESS
ADF: esecuzione di codice personalizzato
13
Per elaborazioni che coinvolgono l’intero dataset
non troppo complesse (es. conversione formato
file) o come trigger verso elaborazioni esterne, si
possono usare le Azure Function
Per elaborazioni sullo stream di dati più puntuali e
complesse si possono implementare delle attività
personalizzate
Azure Function Custom Batch Service
SINTRA DIGITAL BUSINESS
ADF: trigger di esecuzione
14
Azure Blob Storage
Schedulazione ad orari e giorni della
settimana prestabiliti (stile CRON)
Su creazione o cancellazione di un blob
in Azure Blob Storage
Manualmente o programmaticamente
tramite SDK, PowerShell o REST API
Con programmazioni ricorrenti a partire
da un evento temporale iniziale
(tumbling window)
API
SINTRA DIGITAL BUSINESS
ADF: costi
15
Contenuti, con pagamento in base al consumo, ma è
praticamente impossibile calcolarli esattamente a priori.
Alcuni fattori da considerare per stimarli:
● Quantità di dati trattati
● Quantità di dati da migrare da/verso Azure per i data flow
● Risorse Azure utilizzate
● Tempo di esecuzione
● Presenza di data flow
Questo è ciò che costa più di tutto il resto messo insieme!
SINTRA DIGITAL BUSINESS 16
ALLA FINE DELLA
STORIA...
SINTRA DIGITAL BUSINESS
ADF vs on-premise ETL
17
ADF ETL “classico” (es. Pentaho)
Connettori esistenti per sorgenti dati Si Si
Editor visuale Si Si
Difficoltà di manipolazione dati Facile Facile
Estensibilità con codice custom Si Si
Installazione e manutenzione Non necessarie Onerose
Scalabilità Illimitata Praticamente assente
Costi
Pagamento in base al consumo, bassi
(tenendo a mente le regole di pricing!)
Medio-alti, fissi
SINTRA DIGITAL BUSINESS 18
Grazie!
Keep in touch!
Domande?
https://www.linkedin.com/in/leonardomarcucci https://github.com/marcuson l.marcucci@sintraconsulting.eu

ETL on Cloud: Azure Data Factory

  • 1.
    SINTRA DIGITAL BUSINESS ETLon Cloud: Azure Data Factory Come sfruttare gli strumenti cloud Azure per fare ETL e vantaggi rispetto ai tool on-premise 1
  • 2.
    SINTRA DIGITAL BUSINESS Unapresentazione veloce Leonardo Marcucci Software architect e R&D in Sintra, principalmente in ambito web. IoT e home automation enthusiast (anche) al di fuori del lavoro. Appassionato di cinema/serie tv e videogiochi/giochi da tavolo. 2
  • 3.
  • 4.
    SINTRA DIGITAL BUSINESS ETL:Extract, Transform, Load 4 Ottenere i dati eterogenei necessari da più sorgenti (file, DB, CRM…) in formati differenti (CSV, JSON, tabelle SQL…) Extract Manipolare i dati per portarli al formato desiderato Transform Caricare i dati trasformati in una destinazione adatta agli usi futuri (file, DB, Data Warehouse…) Load E T L
  • 5.
    SINTRA DIGITAL BUSINESS Cosac’era prima: ETL on-premise 5 Licenze, server privati... Costi fissi In carico all’utente, oneroso in termini di tempo Installazione e manutenzione Come fare per elaborare moli enormi di dati? ScalabilitàETL Questi strumenti funzionano! Gli aspetti negativi:
  • 6.
    SINTRA DIGITAL BUSINESS6 LA RIVOLUZIONE DEL CLOUD
  • 7.
    SINTRA DIGITAL BUSINESS Azure DataFactory (ADF) Strumento ETL visuale nel cloud Azure di Microsoft, con tantissimi connettori per le sorgenti dati. Gira completamente serverless e non richiede l’installazione di agent a bordo macchina. 7
  • 8.
    SINTRA DIGITAL BUSINESS ADF:concetti fondamentali 8 Raggruppamento di attività che esegue un’operazione ETL sui dati Pipeline Singolo passo di una pipeline che agisce sui dataset Attività Particolare attività per la trasformazione ed il mapping dei dati Data flow
  • 9.
    SINTRA DIGITAL BUSINESS ADF:dataset e connettori 9 ...e tanti altri
  • 10.
    SINTRA DIGITAL BUSINESS ADF:editor visuale - pipeline 10
  • 11.
    SINTRA DIGITAL BUSINESS ADF:editor visuale - data flow 11
  • 12.
    SINTRA DIGITAL BUSINESS ADF:risorse Azure 12 ADF non necessita di ulteriori risorse Azure se non si necessita di utilizzare Data Flow, altrimenti... ...occorre avere delle risorse per lo storage su Azure, come Azure Storage Account oppure Azure SQL Database Azure Data Factory Azure Blob Storage Azure SQL Database
  • 13.
    SINTRA DIGITAL BUSINESS ADF:esecuzione di codice personalizzato 13 Per elaborazioni che coinvolgono l’intero dataset non troppo complesse (es. conversione formato file) o come trigger verso elaborazioni esterne, si possono usare le Azure Function Per elaborazioni sullo stream di dati più puntuali e complesse si possono implementare delle attività personalizzate Azure Function Custom Batch Service
  • 14.
    SINTRA DIGITAL BUSINESS ADF:trigger di esecuzione 14 Azure Blob Storage Schedulazione ad orari e giorni della settimana prestabiliti (stile CRON) Su creazione o cancellazione di un blob in Azure Blob Storage Manualmente o programmaticamente tramite SDK, PowerShell o REST API Con programmazioni ricorrenti a partire da un evento temporale iniziale (tumbling window) API
  • 15.
    SINTRA DIGITAL BUSINESS ADF:costi 15 Contenuti, con pagamento in base al consumo, ma è praticamente impossibile calcolarli esattamente a priori. Alcuni fattori da considerare per stimarli: ● Quantità di dati trattati ● Quantità di dati da migrare da/verso Azure per i data flow ● Risorse Azure utilizzate ● Tempo di esecuzione ● Presenza di data flow Questo è ciò che costa più di tutto il resto messo insieme!
  • 16.
    SINTRA DIGITAL BUSINESS16 ALLA FINE DELLA STORIA...
  • 17.
    SINTRA DIGITAL BUSINESS ADFvs on-premise ETL 17 ADF ETL “classico” (es. Pentaho) Connettori esistenti per sorgenti dati Si Si Editor visuale Si Si Difficoltà di manipolazione dati Facile Facile Estensibilità con codice custom Si Si Installazione e manutenzione Non necessarie Onerose Scalabilità Illimitata Praticamente assente Costi Pagamento in base al consumo, bassi (tenendo a mente le regole di pricing!) Medio-alti, fissi
  • 18.
    SINTRA DIGITAL BUSINESS18 Grazie! Keep in touch! Domande? https://www.linkedin.com/in/leonardomarcucci https://github.com/marcuson l.marcucci@sintraconsulting.eu