Introducción a Azure Data Factory
Introducción a Azure Data Factory
de Azure
Fábrica de datos
de Azure
base de datos
Contenido del curso
• Introducción de Azure
• Introducción a Azure Data Factory
• Componentes de Data Factory
• Diferencias entre v1 y v2
• Desencadenantes
• Flujo de control
• SSIS en ADFv2
• Manifestación
Introducción de
Azure
• Azure es la plataforma de computación en la nube de Microsoft, que proporciona servicios en la nube que le brindan la
libertad de crear, administrar e implementar aplicaciones en una red global masiva utilizando sus herramientas y marcos
favoritos.
Una breve explicación sobre cómo funciona Azure
• La computación en la nube es la prestación de servicios informáticos a través de Internet utilizando un modelo de
precios de pago por uso. En otras palabras, es una forma de alquilar potencia informática y almacenamiento del
centro de datos de alguien.
• Microsoft clasifica los servicios en la nube de Azure en los siguientes tipos de productos:
• Calcular
• Almacenamiento
• Redes
• Web
• Bases de datos
• Analítica e IoT
• Inteligencia artificial
• DevOps
Introducción a Azure Data
Factory
Introducción a Azure Data
• Factory
Azure Data Factory es un servicio de integración de datos basado en la nube para componer servicios de
almacenamiento, movimiento y procesamiento de datos en canalizaciones de datos automatizadas.
• Se compone de servicios de procesamiento, almacenamiento y movimiento de datos para crear y administrar
canales de análisis, también proporciona servicios de orquestación, movimiento de datos y monitoreo.
• En el mundo del big data, los datos sin procesar y desorganizados a menudo se almacenan en sistemas de
almacenamiento relacionales, no relacionales y de otro tipo; el big data requiere un servicio que pueda
orquestar y operacionalizar procesos para refinar estos enormes depósitos de datos sin procesar y
convertirlos en información empresarial procesable.
• Azure Data Factory es un servicio en la nube administrado diseñado para estos complejos proyectos híbridos
de extracción-transformación-carga (ETL), extracción-carga-transformación (ELT) e integración de datos.
• Azure Data Factory es un servicio de ingesta y transformación de datos que le permite cargar datos sin
procesar desde más de 70 fuentes locales o en la nube diferentes. Los datos ingeridos se pueden limpiar,
transformar, reestructurar y volver a cargar en un almacén de datos.
• Actualmente, existen dos versiones del servicio: la versión 1 (V1) y la versión 2 (V2).
• Las canalizaciones (flujos de trabajo basados en datos) en Azure Data Factory normalmente realizan los
cuatro pasos siguientes:
Introducción a Azure Data
Factory
• Conectar y recopilar: el primer paso para construir un sistema de producción de información es conectarse a
todas las fuentes de datos y procesamiento necesarias, como servicios de software como servicio (SaaS), bases
de datos, recursos compartidos de archivos y servicios web FTP. El siguiente paso es trasladar los datos según
sea necesario a una ubicación centralizada para su procesamiento posterior.
• Transformar y enriquecer: una vez que los datos están presentes en un almacén de datos centralizado en la
nube, procese o transforme los datos recopilados mediante servicios informáticos como HDInsight Hadoop,
Spark, Data Lake Analytics y Machine Learning.
• Publicar: una vez que los datos sin procesar se hayan refinado hasta obtener un formato consumible listo para
el negocio, cargue los datos en Azure Data Warehouse, Azure SQL Database, Azure Cosmos DB o cualquier
motor de análisis al que los usuarios comerciales puedan apuntar desde sus herramientas de inteligencia
empresarial.
• Monitorear: después de haber creado e implementado exitosamente su flujo de trabajo de integración de
datos, brindando valor comercial a partir de datos refinados, monitoree las actividades y flujos de trabajo
programados para conocer las tasas de éxito y fracaso.
• Azure Data Factory se compone de cuatro componentes clave. Estos componentes trabajan juntos para
proporcionar la plataforma en la que puede componer flujos de trabajo basados en datos con pasos para
Introducción a Azure Data
Factory
mover y transformar datos.
• Tubería: una fábrica de datos puede tener una o más tuberías. Una tubería es una agrupación lógica de
actividades que realiza una unidad de trabajo. Por ejemplo, una canalización puede contener un grupo de
actividades que ingieren datos de un blob de Azure y luego ejecutan una consulta de Hive en un clúster de
HDInsight para particionar los datos.
• Actividad: Las actividades representan un paso de procesamiento en una cadena de producción. Por
ejemplo, puede utilizar una actividad de copia para copiar datos de un almacén de datos a otro. Data Factory
admite tres tipos de actividades: actividades de movimiento de datos, actividades de transformación de
datos y actividades de control.
• Conjuntos de datos: Los conjuntos de datos representan estructuras de datos dentro de los almacenes de
datos, que simplemente apuntan o hacen referencia a los datos que desea utilizar en sus actividades como
entradas o salidas.
• Servicios vinculados: los servicios vinculados son muy similares a las cadenas de conexión, que definen la
información de conexión necesaria para que Data Factory se conecte a recursos externos. Por ejemplo, un
servicio vinculado a Azure Storage especifica una cadena de conexión para conectarse a la cuenta de Azure
Storage.
• Los servicios vinculados se utilizan para dos propósitos en Data Factory:
• Para representar un almacén de datos que incluye, entre otros, una base de datos de SQL Server local, una base de
datos de Oracle, un recurso compartido de archivos o una cuenta de almacenamiento de blobs de Azure.
• Representar un recurso computacional que pueda albergar la ejecución de una actividad. Por ejemplo, la actividad
Introducción a Azure Data
Factory
HDInsight Hive se ejecuta en un clúster Hadoop de HDInsight.
Componentes de la
fábrica de datos
• Descripción general del flujo de
Data Factory
Componentes de la
fábrica de datos
• Descripción general del flujo de
Data Factory
Mi Mi Pipeline2
canalización
1
Des parám
enc etros
ade
Muro
nar
de
eventos
Reloj
Bajo
deman
da
Componentes de la
fábrica de datos
• Otros componentes de Data Factory.
2 .API de descanso:
[Link]
myResourceGroup/providers/[Link]/factories/{yourDataFactory}/pipelines
/{yourPipeline}/createRun?api-version=2017-03-01-preview
3. .NETO:
[Link](+parámetros)
4. Portal de Azure
(Fábrica de datos -><Author & Monitor> -> Conductos de tuberías)
Desenc
{
adenan
"propiedades": {
"tipo": "Disparador de programación",
tes
Ejecutar el pipeline
según un cronograma
"propiedadesDeTipo": {
"recurrencia": {
"frecuencia": <<Minute, Hour, Day, Week, Year»> ,
"intervalo": <<int> >, II opcional, con qué frecuencia disparar (predeterminado 1)
"HoraInicio": <<datetime> >, "HoraFinal": <<datetime»> , "zona horaria": "UTC" "horario": { // opcional (detalles de
programación avanzada)
"horas": [<<0-24>>], "díasdesemana": ": [<<Monday-Sunday> >], "minutos": [<<8-60>>], "mesDías": [<<1-31>>],
"OcurrenciasMensuales": [ {
"día": <<Monday-Sunday> >, "ocurrencia": <<1-5>> }
Desenc
adenan
Ventana que se derrumba
tes
Los activadores de ventana cambiante son un tipo de activador
que se activa en un intervalo de tiempo periódico a partir de una
hora de inicio especificada, mientras conserva el estado. Las
ventanas desplegables son una serie de intervalos de tiempo
contiguos, no superpuestos y de tamaño fijo.
"nombre": "MiNombreDeDisparador",
"propiedades": {
"tipo": "TumblingWindowTrigger",
'runtimeState": 'propiedadesDeTipo'
"frecuencia": "intervalo": "hora de inicio": "hora de finalización: "<<datetime - optional> >"",
"retraso": "<<timespan - "<<Started/Stopped/Disabled - readonly> >".
optional> >",
"maxConcurrencia": < "<<Minute/Hour> >",
"contar": <<int - optional, default: 0> >, "intervalo de segundos": <<int> >,
"tubería": {
"referencia de canalización": {
"tipo": "Referencia de tubería",
"referenceName": "NombreDeMiPipeline"
Desenc
adenan
Disparador basado en eventos
Lostes
escenarios de integración de datos a menudo requieren
que los clientes de Data Factory activen canalizaciones en
función de eventos. Data Factory ahora está integrado con
Azure Event Grid, lo que le permite activar canalizaciones en
un evento.
Desenc
adenan
Actividades conocidas de v1 - Transformación de
tes
datosActividades
Actividad de transformación de datos Entorno computacional
Compatible
El mismo entorno de ejecución de SSIS en Windows,
Linux y Azure
Nube
Tiempo de Movimiento de
datos
Este de
ejecución
[Link]. de
Actividad de
Reino
cálculo
Unido Sur
Despacho
Tiempo de
ejecución
de
SSIS en
ADFv2 de integración escalables
Servicios
Cómo escalar verticalmente o horizontalmente con 3
configuraciones en Azure SSIS IR
E8 SSISDB
□ Catálogos de Servicios de Integración
1 Exitoso
[Link]
□ 1 SSIS_ADF
□ Paquetes
Copiar datos SSI [Link]
+ Entornos
SSIS en
Notas
ADFv2 desde el campo
1. Conéctese en SSMS directamente a la base de datos SSISDB
para ver SSIS
Catalogar
2. Implementar desde Visual Studio únicamente en
Implementación de proyecto
Modo, solución alternativa para la importación de SSMS
3. En la vista previa no se admiten componentes de terceros de
SSIS (por ejemplo,
Theobald para SAP, cozyroc..)
4. V2 IR solo admite pipelines V2 y V1 IR solo admite V1. Ambos
no pueden usarse indistintamente. Aunque es el mismo
instalador
5. Utilice la misma ubicación para Azure-SSIS IR y la utilizada (
37
SSIS en
L
ADFv2
Catálogo de bases de datos de Azure para SSIS
Métodos de ejecución
1. Los paquetes SSIS se pueden ejecutar a través de SSMS
Métodos de programación
1. Las ejecuciones de paquetes SSIS se pueden programar de forma directa o
explícita a través de la aplicación ADFv2 (trabajo en progreso)
› Por ahora, las ejecuciones de paquetes SSIS se pueden programar de forma
indirecta/implícita a través de ADFv1/v2 Sproc
Actividad
comentari
os
Fábrica de datos Base de datos Panel de control
de Azure SQL de Azure de Power BI
ingeri copiar y
r transformar
blob de
almacena Copi Gestión de
miento ar datos
Puerta
Base de datos
SQL (local)
¿Qué es Azure Data Factory?
• Data Factory es un servicio de integración de datos totalmente administrado,
basado en la nube, que automatiza el movimiento y la transformación de datos.
Al igual que una fábrica que opera equipos para transformar materias primas en
productos terminados, Azure Data Factory organiza servicios existentes que
recopilan datos sin procesar y los transforman en información lista para usar.
• Al usar Azure Data Factory, puede crear flujos de trabajo basados en datos para
mover datos entre almacenes de datos locales y en la nube. Además, puede
procesar y transformar datos mediante servicios de procesamiento como Azure
HDInsight, Azure Data Lake Analytics y el entorno de ejecución de integración de
SQL Server Integration Services (SSIS).
• Con Data Factory, puede ejecutar su procesamiento de datos en un servicio en la
nube basado en Azure o en su propio entorno informático alojado, como SSIS,
SQL Server u Oracle. Después de crear un pipeline que realice la acción que
necesita, puede programarlo para que se ejecute periódicamente (cada hora,
diariamente o semanalmente, por ejemplo), programarlo por intervalos de
tiempo o activarlo a partir de la ocurrencia de un evento.
Introducción a Azure Data
Factory
• El panorama de datos es más variado que nunca, con datos estructurados
y no estructurados que se originan en muchas fuentes locales y en la nube.
• Data Factory le permite procesar datos locales como SQL Server, junto con
datos en la nube como Azure SQL Database, blobs y tablas.
• Estas fuentes de datos se pueden componer, procesar y monitorear a
través de canales de datos simples, altamente disponibles y tolerantes a
fallas.
• Combinar y dar forma a datos complejos puede requerir más de un
intento para hacerlo correctamente, y cambiar los modelos de datos
puede ser costoso y llevar mucho tiempo.
• Al utilizar Data Factory usted puede centrarse en el análisis transformador
mientras el servicio "se encarga de la instalación".
¿Cuáles son los conceptos de nivel
superior de Azure Data Factory?
• Una suscripción de Azure puede tener una o más instancias de Azure
Data Factory (o fábricas de datos).
• Azure Data Factory contiene cuatro componentes clave que
funcionan juntos como una plataforma en la que puede componer
flujos de trabajo basados en datos con pasos para mover y
transformar datos.
Tuberías
• Una fábrica de datos puede tener una o más canalizaciones. Una tubería es una agrupación lógica de actividades para realizar una
unidad de trabajo. En conjunto, las actividades de una tubería realizan una tarea. Por ejemplo, una canalización puede contener
un grupo de actividades que ingieren datos de un blob de Azure y luego ejecutan una consulta de Hive en un clúster de HDInsight
para particionar los datos. La ventaja es que puedes utilizar un pipeline para gestionar las actividades como un conjunto en lugar
de tener que gestionar cada actividad individualmente. Puede encadenar las actividades en una tubería para operarlas
secuencialmente, o puede operarlas independientemente, en paralelo.
Actividades
• Las actividades representan un paso de procesamiento en una cadena de producción. Por ejemplo, puede utilizar una actividad
Copiar para copiar datos de un almacén de datos a otro. De manera similar, puede usar una actividad de Hive, que ejecuta una
consulta de Hive en un clúster de Azure HDInsight para transformar o analizar sus datos. Data Factory admite tres tipos de
actividades: actividades de movimiento de datos, actividades de transformación de datos y actividades de control.
Conjuntos de datos
• Los conjuntos de datos representan estructuras de datos dentro de los almacenes de datos, que simplemente apuntan o hacen
referencia a los datos que desea utilizar en sus actividades como entradas o salidas.
Servicios vinculados
• Los servicios vinculados son muy similares a las cadenas de conexión, que definen la información de conexión necesaria para que
Data Factory se conecte a recursos externos. Piénselo de esta manera: un servicio vinculado define la conexión a la fuente de
datos y un conjunto de datos representa la estructura de los datos. Por ejemplo, un servicio vinculado de Azure Storage especifica
la cadena de conexión para conectarse a la cuenta de Azure Storage. Y un conjunto de datos de blobs de Azure especifica el
contenedor de blobs y la carpeta que contiene los datos.
Los servicios vinculados tienen dos propósitos en Data Factory:
• Para representar un almacén de datos que incluye, entre otros, una instancia de SQL Server local, una instancia de base de datos de Oracle, un recurso
compartido de archivos o una cuenta de almacenamiento de blobs de Azure.
• Representar un recurso computacional que pueda albergar la ejecución de una actividad. Por ejemplo, la actividad HDInsight Hive se ejecuta en un
clúster Hadoop de HDInsight.
Desencadenantes
• Los desencadenadores representan unidades de procesamiento que determinan cuándo se inicia la ejecución de un canal. Existen distintos tipos de
desencadenantes para distintos tipos de eventos.
El oleoducto se ejecuta
• Una ejecución de canalización es una instancia de una ejecución de canalización. Generalmente, se crea una instancia de una ejecución de canalización
pasando argumentos a los parámetros que están definidos en la canalización. Puede pasar los argumentos manualmente o dentro de la definición del
disparador.
Parámetros
• Los parámetros son pares clave-valor en una configuración de solo lectura. Usted define parámetros en una canalización y pasa los argumentos para
los parámetros definidos durante la ejecución desde un contexto de ejecución. El contexto de ejecución se crea mediante un disparador o desde una
canalización que se ejecuta manualmente. Las actividades dentro del pipeline consumen los valores de los parámetros.
• Un conjunto de datos es un parámetro fuertemente tipado y una entidad que puedes reutilizar o hacer referencia. Una actividad puede hacer
referencia a conjuntos de datos y puede consumir las propiedades definidas en la definición del conjunto de datos.
• Un servicio vinculado también es un parámetro fuertemente tipado que contiene información de conexión a un almacén de datos o a un entorno
informático. También es una entidad que puedes reutilizar o referenciar.
• Flujos de control
• Los flujos de control orquestan actividades de canalización que
incluyen encadenamiento de actividades en una secuencia,
ramificaciones, parámetros que usted define en el nivel de
canalización y argumentos que pasa cuando invoca la canalización a
pedido o desde un disparador. Los flujos de control también incluyen
contenedores de paso de estado y bucle personalizados (es decir,
iteradores foreach).
JSON
{
"nombre": "AzureBlobInput",
"propiedades" : {
"tipo”: "AzureBlob" ,
"nombreDeServicioEnlazado": {
"nombreDeReferencia": "MyAzurestorageLinkedService"
"tipo": " LinkedServiceReference ",
},
"propiedadesDeTipo": {
"nombreArchivo": "[Link]"j
"rutaDeCarpeta": "adfgetstarted/inputdata" ,
"formato": {
"tipo": "Formato de texto",
"Delimitador de columna":
}
}
}
}
CONJUNTO DE DATOS
Consume # TUBERÍA
(por ejemplo, tabla, archivo) ACTIVIDAD Es una (programar, supervisar, gestionar)
(por ejemplo, colmena, agrupación
Produce | procedimiento almacenado, copia) lógica de
Actividades de
transformación
Azure de de transformación que se pueden agregar a las canalizaciones de forma individual o
Data Factory admite las siguientes actividades
datos
encadenadas con otra actividad.
Cuaderno de notas de
Databricks Azure Databricks
Actividades de
control
Se admiten las siguientes actividades de flujo de control
Actividad de
control Descripción
Ejecutar La actividad Ejecutar pipeline permite que un pipeline de Data Factory invoque otro pipeline.
Tubería
Actividad
Para cada actividad ForEach Activity define un flujo de control repetitivo en su canalización. Esta actividad se utiliza para iterar sobre una sección y ejecuta actividades
específicas en un bucle. La implementación del bucle de esta actividad es similar a la estructura de bucle Foreach en los lenguajes de programación.
La actividad web se puede utilizar para llamar a un punto final REST personalizado desde una canalización de Data Factory. Puede pasar
Actividad web
conjuntos de datos y servicios nked para que la actividad los consuma y acceda a ellos.
La actividad de búsqueda se puede utilizar para leer o buscar un registro/nombre de tabla/valor desde cualquier fuente externa. Este
Buscar
resultado podrá ser referenciado posteriormente en actividades posteriores.
Actividad
Obtener metadatos La actividad GetMetadata se puede utilizar para recuperar metadatos de varios datos en Azure Data Factory.
Actividad
Hasta Actividad Implementa el bucle Do-Unti, que es similar a la estructura Do-Until de los lenguajes de programación y ejecuta un conjunto de actividades
en un bucle hasta que la condición asociada con la actividad se evalúa como verdadera. Puede especificar un valor de tiempo de espera
para la actividad hasta en Data Factory.
La actividad If Condition se puede utilizar para ramificar en función de una condición que se evalúa como verdadera o falsa. La actividad If
Si el cordón está
encendido Condition proporciona la misma funcionalidad que una declaración if proporciona en muchos lenguajes de programación. Evalúa un conjunto
Actividad de actividades cuando la condición se evalúa como verdadera y otro conjunto de actividades cuando la condición se evalúa como falsa.
Cuando se utiliza una actividad de espera en appare re, la tubería Te espera durante el período de tiempo especificado antes de continuar
Actividad de Wat con la ejecución de actividades posteriores.
J hijo
J hijo
J hijo Copiar
"nombre": "PipelineName",
"propiedades":
{
{ "nombre": "TransformPipeline", Tabla de SQL de
"descripción": "actividades de
Azure
la tubería": [
"propiedades": {
{
"nombre": "MyFirstA "description": "Mi primera canalización de Azure Data Factory", "activities": [
"tipo": "Copiar",
"typeProperties": }, "tipo": "HDInsightHive",
"linkedserviceNam } "propiedadesDeTipo": 1
}, { "script Ruta": "adf empezar/script/parte tionwe blogs .hql",
"nombre": "MySecond "Servicio vinculado de script": "AzurestorageLinkedservice" ,
"tipo": "Copiar", "define": {
"typeProperties": }, "inputtable": "wa sb: //adf get started@«nombreDeCuentaDeAlmacenamiento>.[Link], [Link]/inputdata
"linkedserviceNam }, "tabla particionada": "wasb://adfgetstartedg<storageaccountnane> .[Link]/par )
"dependson" : [ {
"entradas": [
"actividad": ■
{
"dependencia"
"nombre": "Entrada de AzureBlob"
}
}
]
1,
} "salidas": [ { "nombre": "AzureBlobOutput" }
],
],
"parámetros": { "política": { "reintentar": 3
} },
} "nombre": "Runsample HiveActivity", "1 en Ice d Service" Nombre: "HDI n SightonDem y servicio vinculado" } ]
}