atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005: ETL - 1 atabase and data mining group, Integration Services Project Permette di gestire tutti i processi di ETL Creare un nuovo progetto di Business Intelligence di tipo Integration services Project SQL Server 2005: ETL - 2 1
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Integration Services Project Aprire Visual Studio e creare un nuovo progetto di Business Intelligence di tipo Integration services Project SQL Server 2005: ETL - 3 atabase and data mining group, SQL Server 2005: ETL - 4 2
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino Control flow atabase and data mining group, efinisce il flusso dei task Offre tutta una serie di strumenti base ata Flow Task Blocco base per effetturae il trasferimento di dati da una sorgente verso una destinazione applicando delle trasformazioni Execute SQL Task Esecuzione di comandi SQL Execute Package.. Esecuzione di package esterni SQL Server 2005: ETL - 5 atabase and data mining group, SQL Server 2005: ETL - 6 3
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino Control flow: creazione atabase and data mining group, Per creare un nuovo flusso è sufficiente trascinare gli oggetti in mezzo allo schermo e poi collegarli con le frecce Le frecce di collegamento tra i task definisco le precedenze tra i task Non c è scambio di informazioni tra i Task del Control Flow SQL Server 2005: ETL - 7 atabase and data mining group, SQL Server 2005: ETL - 8 4
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Control flow: Execute SQL Task Execute SQL Task permette di eseguire uno script SQL Usato generalmente per Creare tabelle Cancellare dati Inserire informazioni nelle tabelle di Auditing SQL Server 2005: ETL - 9 atabase and data mining group, efinire una connessione ad un B Comando SQL da eseguire SQL Server 2005: ETL - 10 5
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Control flow: Execute SQL Task (2) Prima di poter eseguire un comando SQL è necessario definire una connessione verso la base di dati Creazione di una nuova connessione Indicare il nome del server Indicare il nome della base di dati Indicare la modalità di autenticazione SQL Server 2005: ETL - 11 atabase and data mining group, SQL Server 2005: ETL - 12 6
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino Control flow: ata flow atabase and data mining group, I blocchi ata Flow gestiscono tutta l elaborazione dei dati Il ata Flow gestiscono tutta l elaborazione dei dati tramite oggetti per efinere sorgenti e destinazioni Trasformare, aggiungere attributi Unire il contenuto di più sorgenti.. SQL Server 2005: ETL - 13 atabase and data mining group, al menu a tendina si può segliere il data Flow su cui lavorare (tra quelli definiti del Control Flow) SQL Server 2005: ETL - 14 7
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino ata Flow: flusso dei dati atabase and data mining group, Sorgenti dei dati Elaborazione dei dati estinazione dei dati ata Flow Sources: Tabelle di SQL Server Fogli Excel File di testo (CSV) ata Flow Transformation: Cambia il formato dei dati Aggiunge campi derivati ivide o inisce dati di fonti diverse Raggruppa i dati ata Flow estinations: Tabelle di SQL Server Fogli Excel File di testo SQL Server 2005: ETL - 15 Control flow: ata flow atabase and data mining group, Nel ata Flow i collegamenti indicano passaggi fisici di dati Tramite un doppio click sul collegamento (ata Flow Path) si possono Leggere i metadati relativi ai dati trasferiti efinire dei data viewer per visualizzare i dati che passano sul link a runtime Utile in fase di debug SQL Server 2005: ETL - 16 8
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Metadati relativi al collegamento selezionato SQL Server 2005: ETL - 17 atabase and data mining group, ata Flow Source: Sorgente OLE B Sorgente OLE B efinisce un collegamento verso una sorgente SQL Server e specifica quali dati utilizzare SQL Server 2005: ETL - 18 9
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino SQL Server 2005: ETL - 19 atabase and data mining group, ata Flow Source: Sorgente OLE B (2) Selezionare la connessione verso la base di dati che si vuole utilizzare Se la connessione non esiste crearne una nuova Selezionare la tabella alla quale si vuole accedere Accesso all interno contenuto della tabella Oppure indicare un interrogazione SQL Accesso ai soli dati di interesse provenienti da una o più tabelle Indicazione delle colonne selezionate atabase and data mining group, Connessione da utilizzare efinire il metodo di accesso: accesso a tutta la tabella accesso tramite interrogazione SQL SQL Server 2005: ETL - 20 10
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow Trasformations: ata Conversion Serve a cambiare il formato dei dati Cambio del formato di memorizzazione delle stringhe Conversione di dati numerico con precisione diversa.. Genera una nuova colonna per ogni trasformazione SQL Server 2005: ETL - 21 atabase and data mining group, Colonna di input Nuovo colonna generata dal blocco di conversione SQL Server 2005: ETL - 22 Formato della colonna di output 11
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow Trasformations: Union all Unisce due o più sorgenti dati e crea un output comune I dati in ingresso devono avere lo stesso schema e formato per poter essere uniti SQL Server 2005: ETL - 23 atabase and data mining group, Nome dell attributo di output SQL Server 2005: ETL - 24 Nome degli attributi di input 12
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow Trasformations: erived column Crea nuove colonne Per ogni tupla il contenuto delle nuove colonne può essere una costante oppure il risultato di una funzione applicata su altre colonne dello schema Sostituisce il contenuto di una colonna con un nuovo valore Anche in questo caso si può assegnare un valore costante o utilizzare una formula per calcolare il valore dell attributo SQL Server 2005: ETL - 25 atabase and data mining group, SQL Server 2005: ETL - 26 13
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow Trasformations: Aggregate Aggrega le tuple in funzione degli attributi di aggregazione e restituisce il valore di funzioni aggregate per ogni gruppo somma, media, count.. Quando c è una sola sorgente dati la stessa operazione può essere spesso effettuata usando opportunamente l operato group by SQL Server 2005: ETL - 27 atabase and data mining group, Attributi di raggruppamento Risultato di funzioni aggregate SQL Server 2005: ETL - 28 14
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow Trasformations: Lookup Permette di accedere ad un altra tabella e farsi restituire un determinato campo Funziona come una join ma può essere applicato a flussi di dati che provengono da sorgenti diverse SQL Server 2005: ETL - 29 atabase and data mining group, Selezionare una connessione e la tabella su cui fare il lookup Selezionare la condizione di join e il campo(i) da restituire SQL Server 2005: ETL - 30 15
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow estination: OLE B estinazione dei dati efinisce un collegamento verso una destinazione SQL Server e specifica quali dati utilizzare Ultimo blocco di tutti i data flow SQL Server 2005: ETL - 31 atabase and data mining group, efinire la connessione alla base di dati nella quale voglio scrivere i dati efinire il mapping tra le colonne SQL Server 2005: ETL - 32 16
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow: Execute Package Task Esegue all interno di una package padre un altro package (detto figlio) Si possono passare i valori delle variabili dal padre al figlio SQL Server 2005: ETL - 33 atabase and data mining group, Informazioni sul package da eseguire SQL Server 2005: ETL - 34 17
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino Uso di variabili atabase and data mining group, Variabili di sistema Variabili predefinite che contengono informazioni di sistema PackageName ExecStartT... Variabili utente efinite dall utente Utilizzate per gestire Path relativi ati,.. SQL Server 2005: ETL - 35 atabase and data mining group, Visualizza le variabili di sistema Visualizza le variabili utente SQL Server 2005: ETL - 36 18
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, ata Flow Trasformations: Row count Permette di contare quante tuple passano su un collegamento Il blocco è posizionato sul collegamento che si vuole analizzare Memorizza il risultato in una variabile utente SQL Server 2005: ETL - 37 atabase and data mining group, Variabile utente in cui viene memorizzato il numero di tuple che passano sul collegamento SQL Server 2005: ETL - 38 19
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Caricamento incrementale dei dati Per le dimensioni è necessario identificare le aggiunte e le modifiche In SQL Server 2005 esiste un componente apposito per gestire le variazioni delle dimensioni Per la tabella dei fatti Si devono selezionare solo le nuove tuple Si usano generalmente delle variabili utente per decidere quale fascia temporale di tuple caricare Le tuple nelle tabelle sorgente devono essere caratterizzate dalla data di inserimento/modifica SQL Server 2005: ETL - 39 atabase and data mining group, ata Flow Trasformations: Slowly Changing imension Genera in modo automatico l insieme di blocchi che servono per gestire le variazioni all interno delle dimensioni L utente deve specificare il tipo di gestione delle variazioni da utilizzare per ogni attributo della dimensione da gestire SQL Server 2005: ETL - 40 20
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Blocco per la gestione delle tuple in cui il valore di alcuni attributi sono cambiati Blocco per la gestione delle nuove tuple Blocco per la gestione degli errori SQL Server 2005: ETL - 41 atabase and data mining group, Esecuzione del processo di ETL urante l esecuzione i Task vengono eseguiti nell ordine in cui sono definiti nel Control Flow Se possibile vengono eseguiti in parallelo I task in esecuzione sono gialli, quelli già eseguiti e conclusi correttamente verdi e quelli conclusi erroneamente rossi SQL Server 2005: ETL - 42 21
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Esecuzione del processo di ETL (2) Nel ata Flow inoltre sui collegamenti (path) si può leggere il numero delle righe elaborate Utilizzando i ata viewer è possibile analizzare anche i dati che passano in ogni flusso Utile per le operazioni di debug SQL Server 2005: ETL - 43 atabase and data mining group, SQL Server 2005: ETL - 44 22
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Esecuzione automatica del processo di ETL Il processo di ETL (package) può essere eseguito automaticamente usando dtexec SQL Agent SQL Server 2005: ETL - 45 Gestione degli errori SQL Server 2005: ETL - 46 atabase and data mining group, Se non si gestiscono gli errori appena si genera un errore tutto il package termina con errore Non è possibile sapere quale dato ha generato l errore Se si gestiscono gli errori e possibile Terminare in modo positivo il processo di caricamento per i dati che non presentano errori Salvare i dati che hanno generato un errore su un file di log 23
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino Gestione degli errori (2) Valori possibili per l opzione Error Redirect row atabase and data mining group, Redirezione delle tuple che generano degli errori sul collegamento errori Ignore failure Le tuple che generano errori vengono ignorate ma il processo continua per le altre tuple Fail component (opzione di default) Il componente termina con errore Nessun dato viene caricato nella destinazione SQL Server 2005: ETL - 47 atabase and data mining group, Tipo di gestione degli errori SQL Server 2005: ETL - 48 24
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, I dati che non possono essere salvati nella base di dati di destinazione sono memorizzati in un file di log SQL Server 2005: ETL - 49 atabase and data mining group, urante l esecuzione dei processi di ETL è indispensabile tenerete traccia dei processi (package) eseguiti Stato Tempo di esecuzione Numero di tuple analizzate da ogni processo Numero di errori... Metadati - Auditing SQL Server 2005: ETL - 50 25
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino Metadati - Auditing (2) atabase and data mining group, I metadati /informazioni di auditing sono generalmente memorizzate all interno di una tabella relazionale Facile da aggiornare durante l esecuzione dei processi di ETL Facile da analizzare tramite interrogazioni SQL SQL Server 2005: ETL - 51 Metadati - Auditing (3) Nel Control Flow atabase and data mining group, Inserire un blocco all inizio di ogni processo che salva le informazioni di inizio esecuzione Inserire un blocco alla fine di ogni processo che salva le informazioni di fine esecuzione più le informazioni raccolte durante l esecuzione del processo Numero di tuple analizzate Numero di errori... SQL Server 2005: ETL - 52 26
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino Nel ata Flow Metadati - Auditing (3) Salvare all interno di variabili utente atabase and data mining group, Il numero di tuple analizzate Il numero di errori Salvare su file testuali o in una base di dati Le tuple che hanno generato errori SQL Server 2005: ETL - 53 SSIS Log atabase and data mining group, SSIS Log Sistema automatico per il log dei processi fornito da SQL Server 2005 Permette di tracciare le informazioni di base sui processi/package eseguiti Può salvare i dati su file, in una base di dati SQL Server,.. Non permette di memorizzare Il numero di tuple analizzate Le tuple che generano errori SQL Server 2005: ETL - 54 27
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, Task da tracciare SQL Server 2005: ETL - 55 atabase and data mining group, Tipi di eventi da tracciare SQL Server 2005: ETL - 56 28