View
229
Download
4
Category
Preview:
DESCRIPTION
Â
Citation preview
Profesor:
Ayudantes:
Ing. Pablo Cigliuti (@pabcig)
Ing. Ariel Torres (@jarieltorres)
Ing. Sebastián Bagnasco
Ing. Nicolás Iguchi
Ing. Juan Bella
Ing. Juan Pierdoménico
Clase VI
ETL
Práctica de Laboratorio
Datawarehouse(SQL Server, Oracle,
DB2, Teradata)
SQL/Oracle SAP/DynamicsSistemas
PropietariosTexto XML
ETL
Informes DashboardsCuadros de
MandoExcel
¿En donde estamos?
REPASO CLASE ETL
Herramienta Gráfica de ETL
Presentado en SQL Server 2005
Sucesor de Data Transformation
Services (DTS)
¿Qué es SSIS?
INTEGRATION SERVICES
Menu
Designer
DEVELOPMENT STUDIO
Designer
Flujo de control: define el flujo de trabajo del ETL,
determinando las tareas a ejecutar y el orden en el cual
deberán ser ejecutadas.
Flujo de datos: Se combinan orígenes de datos,
Extracciones, Transformaciones que modifican y agregan
datos y Cargas que se ingresan en los sistemas destino
(DW)
Controladores de eventos: Flujos de trabajo que se
ejecutan cuando se produce un evento dentro de un
paquete o de una tarea dentro del paquete. Por ejemplo,puede crear un controlador de eventos que envíe un
mensaje de correo electrónico cuando se origine un error
en una tarea.
INTEGRATION SERVICES
INTEGRATION SERVICES
Designer
COMPONENTES DE UN PAQUETE SSIS
Control Flow – Tareas más usadas
Encapsula el motor de flujo de
datos que mueve datos entre
orígenes y destinos
Al hacer doble clic, redirecciona
directamente al data flow
COMPONENTES DE UN PAQUETE SSIS
Control Flow – Tareas más usadas
Ejecuta instrucciones SQL
Puede contener una sola instrucción SQL o múltiples
instrucciones SQL que se ejecutarán de forma secuencial
COMPONENTES DE UN PAQUETE SSIS
Esta tarea ejecuta un Script en Visual Basic .NET 2008 o
en Microsoft Visual C#
Con este tipo de tarea se logran llevar a cabo tareas que
no es posible realizar con las tareas existentes en SSIS
Esta tarea permite mandar un mail, pudiendo
personalizar tanto el mensaje como los destinatarios
Usada comúnmente para informar el estado de ejecución
Esta tarea permite ejecutar un proceso desarrollado
fuera de SQL Server Integration Services
Usado tanto para realizar tareas no soportadas por SSIS
como también para ejecutar aplicaciones de terceros
Control Flow – Tareas más usadas
COMPONENTES DE UN PAQUETE SSIS
Las precedencias nos permiten ordenar el flujo de ejecución.
Puede haber tres resultados posibles:
Ejecución exitosa (verde)
Ejecución fallida (rojo)
Ejecución completada (azul)
Puede establecerse varias precedencias que determinen si una tarea es ejecutada
o no.
Control Flow – Tareas más usadas
COMPONENTES DE UN PAQUETE SSIS
Subconjunto del flujo de control de paquete
Permite deshabilitar grupos de tareas.
Permite administrar propiedades en varias tareas.
Proporciona un ámbito para variables usadas por un
grupo de tareas y contenedores relacionados.
Se deben ‘arrastrar” las tareas dentro
del container
Control Flow – Sequence Container
INTEGRATION SERVICES
Designer
INTEGRATION SERVICES
Connection Manager
El connection manager define todos los
atributos necesarios para conectarse a un
origen de datos a usar por el package
Deben definirse una conexión por cada
base de datos a la que el ETL debe
conectarse
Deben definirse también una conexión por
cada archivo que el ETL utilice
COMPONENTES DE UN PAQUETE SSIS
Extrae datos de varias bases de datos relacionales
compatibles con OLE DB
Data Flow – Sources
http://msdn.microsoft.com/es-es/library/ms141696%28v=sql.90%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Data Flow – Sources
Extrae datos de archivos de texto, definidos en base a la
conexión asociada
http://msdn.microsoft.com/es-es/library/ms139941%28v=sql.90%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Extrae datos de un archivo XML
No requiere tener una conexión definida
Data Flow – Sources
http://msdn.microsoft.com/es-es/library/ms140277%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Crea nuevos valores de columna
aplicando expresiones a las columnas
de entrada de la transformación.
El resultado puede agregarse como
una nueva columna o puede
reemplazar el valor de otra columna
existente.
http://msdn.microsoft.com/es-
es/library/ms141713(SQL.90).aspx
Data Flow - Transformations
http://msdn.microsoft.com/es-es/library/ms141069%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Aplica funciones de agregado, como
Average o SUM.
Además, proporciona la cláusula GROUP
BY, para especificar los grupos en los
que se debe realizar el agregado.
http://msdn.microsoft.com/es-
es/library/ms141713(SQL.90).aspx
Data Flow - Transformations
http://msdn.microsoft.com/es-es/library/ms138031%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Ordena los datos de entrada en orden
ascendente o descendente, y copia los
datos ordenados a la salida de la
transformación.
http://msdn.microsoft.com/es-
es/library/ms141713(SQL.90).aspx
Data Flow - Transformations
http://msdn.microsoft.com/es-es/library/ms140182%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Proporciona una salida que se genera
combinando dos conjuntos de datos
ordenados mediante una combinación
FULL, LEFT o INNER.
Importante: Para realizar un merge join
las tablas orígenes deben estar
ordenadas por el mismo campo.
http://msdn.microsoft.com/es-
es/library/ms141713(SQL.90).aspx
Data Flow - Transformations
http://msdn.microsoft.com/es-es/library/ms141703%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
En un data flow, pueden redireccionarse
aquellos registros inválidos. De esta forma,
podrán ser tratados posteriormente para su
corrección.
Para ello, en la solapa de configuración de
errores, debe setearse el componente para
que redireccione los registros erróneos
Data Flow – Direccionamiento de flujo de datos
COMPONENTES DE UN PAQUETE SSIS
En base a una seria de condiciones,
divide el flujo de datos en varias
direcciones
Data Flow – Direccionamiento de flujo de datos
http://msdn.microsoft.com/es-es/library/ms137886%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Ejecuta una sentencia SQL por cada registro del flujo de datos en
una conexión OLE DB definida en el package
Data Flow – Transformations
http://msdn.microsoft.com/es-es/library/ms141138%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Data Flow – Destinations
Carga datos en una serie de bases de datos compatibles
con OLE DB
http://msdn.microsoft.com/es-es/library/ms141237%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Carga datos en un archivo de texto, definido de acuerdo
a la conexión asociada
Data Flow – Destinations
http://msdn.microsoft.com/es-es/library/ms141668%28v=sql.100%29.aspx
COMPONENTES DE UN PAQUETE SSIS
Mala Modularidad
COMPONENTES DE UN PAQUETE SSIS
Buena Moludaridad
¿PREGUNTAS?
Q&A
ANEXO – EXPRESIONES COMUNES
Validación de Nulos
ISNULL(ParentProductCategoryID) == TRUE
Función IF
AddressType == "Main Office" ? AddressID : 0
Clave de Fecha
YEAR(OrderDate) * 10000 + MONTH(OrderDate) * 100 + DAY(OrderDate)
Documentación
Se deben utilizar los comentarios de SSIS
ANEXO - COMPONENTES DE PAQUETES SSIS
Trae de una base de datos una o varias
columnas en base a otras existentes en el
data flow (operación Look-up).
Utilizado principalmente para traer las SKs
de las dimensiones.
Data Flow – Look Up Component
http://msdn.microsoft.com/es-es/library/ms141237%28v=sql.100%29.aspx
ANEXO – MONITOREO DE EJECUCIÓN
Rojo: el componente falló en su ejecución
Para ver el detalle del error, debe revisarse la solapa:
“Progress”
Al ejecutar un package, el componente cambiará de color de acuerdo a su estado:
Verde: el componente finalizó correctamente
Blanco: el componente no fue ejecutado
Amarillo: el componente está ejecutándose
ANEXO – DEBUG TOOLS: BREAKPOINTS
En las Tasks de SSIS, pueden
definirse breakpoints que
frenarán la ejecución al
ocurrir un evento de una
tarea.
Se pueden especificar tantos
breakpoints como eventos
contenga la tarea.
Para activarlos, debe hacerse
click derecho sobre la tarea y
seleccionar la opción: “Edit
Breakpoints”
http://msdn.microsoft.com/es-es/library/ms141754%28v=sql.120%29.aspx
ANEXO – DEBUG TOOLS: DATA VIEWERS
Los Data Viewers permiten
ver en tiempo de
ejecución los datos que
atraviesan el data flow
Para activarlo, debe
hacerse doble click sobre
la flecha del flujo de datos
y seleccionar la solapa:
“Data Viewers”
Recommended