Está en la página 1de 183

Análisis en la nube con

Microsoft Azure
Segunda edición

Transforme su negocio con el poder del


análisis en Azure

Has Altaiar, Jack Lee y Michael Peña


Análisis en la nube
con Microsoft Azure,
segunda edición
Transforme su negocio con el poder del análisis
en Azure

Has Altair, Jack Lee y Michael Peña


Análisis en la nube con Microsoft Azure, segunda edición
Copyright © 2020 Packt Publishing
Todos los derechos reservados. No está permitida la reproducción, el almacenamiento
en un sistema de recuperación ni la transmisión en cualquier formato o por cualquier
medio de cualquier parte de este libro sin la autorización previa y por escrito del editor,
salvo en el caso de citas breves introducidas en artículos o revistas de opinión crítica.
Durante la preparación de este libro, se hizo todo lo posible por asegurar la exactitud
de la información presentada. Sin embargo, los datos que contiene este libro se
venden sin garantía, ya sea expresa o implícita. Ni los autores ni Packt Publishing,
sus concesionarios y distribuidores, se considerarán responsables de cualquier daño
causado o presuntamente causado de manera directa o indirecta por el contenido de
este libro.
PACKT Publishing intentó proporcionar información de marca de todas las empresas
y los productos mencionados en este libro mediante el uso adecuado de mayúsculas.
Sin embargo, Packt Publishing no garantiza la exactitud de esta información.
Autores: Has Altair, Jack Lee y Michael Peña
Revisor técnico: Aaditya Pokkunuri
Jefes de redacción: Aditya Datar y Neha Pande
Editor de adquisiciones: Ben Renow-Clarke
Editor de producción: Deepak Chavan
Consejo editorial: Vishal Bodwani, Ben Renow-Clarke, Arijit Sarkar, Dominic Shakeshaft
y Lucy Wan
Primera publicación: octubre de 2019
Referencia de producción: 2221220
ISBN: 978-1-80020-243-6
Publicado por Packt Publishing Ltd.
Livery Place, 35 Livery Street
Birmingham B3 2PB, Reino Unido.
Tabla de contenido

Prólogo   i

Capítulo 1 Presentación del análisis en Azure   1

El poder de los datos ............................................................................................... 3


Análisis de macrodatos ........................................................................................... 4
La Internet de las Cosas (IoT) ................................................................................. 5
Machine learning ..................................................................................................... 6
Inteligencia artificial (IA) ......................................................................................... 7
DataOps .................................................................................................................... 8
¿Por qué Microsoft Azure? ...................................................................................... 9
Seguridad ....................................................................................................................... 11
Escala en la nube .......................................................................................................... 12
Principales impulsores económicos para adoptar
el análisis de datos en la nube ............................................................................. 14
Crecimiento y escalado rápidos .................................................................................. 14
Reducción de costos ..................................................................................................... 15
Impulso de la innovación ............................................................................................. 16
¿Por qué necesita un almacenamiento de datos moderno? ............................ 16
Reunir sus datos ........................................................................................................... 18
Creación de una canalización de datos ............................................................... 21
Ingesta de datos ............................................................................................................ 22
Almacenamiento de datos ........................................................................................... 22
Orquestación y supervisión de la canalización de datos ......................................... 22
Uso compartido de datos ............................................................................................. 22
Preparación de datos ................................................................................................... 23
Transformación, predicción y enriquecimiento de datos ........................................ 23
Ofrecimiento de los datos ........................................................................................... 23
Visualización de datos .................................................................................................. 24
Aplicaciones más inteligentes .............................................................................. 26
Resumen ................................................................................................................. 26

Capítulo 2 Presentación del espacio de trabajo


de Azure Synapse Analytics y Synapse Studio   27

¿Qué es Azure Synapse Analytics? ....................................................................... 28


¿Por qué necesitamos Azure Synapse Analytics? ..................................................... 29
Desafíos de los clientes ................................................................................................ 30
Azure Synapse Analytics al rescate ..................................................................... 30
Profundización en el uso de Azure Synapse Analytics ...................................... 32
Presentación del espacio de trabajo de Azure Synapse Analytics ................... 33
Cuenta de Azure gratis ................................................................................................. 33
Guía de inicio rápido ..................................................................................................... 34
Presentación de Synapse Studio .......................................................................... 41
Cómo iniciar Synapse Studio ....................................................................................... 41
Aprovisionamiento de un grupo de SQL dedicado ................................................... 43
Exploración de datos en el grupo de SQL dedicado ................................................. 48
Creación de un grupo de Apache Spark ..................................................................... 50
Integración con canalizaciones ................................................................................... 60
El centro Monitor (Supervisar) .................................................................................... 64
Resumen ................................................................................................................. 65
Capítulo 3 Procesamiento y visualización de los datos    67

Power BI .................................................................................................................. 68
Características y ventajas ............................................................................................ 69
Power BI y Azure Synapse Analytics .................................................................... 70
Características y ventajas ............................................................................................ 71
Guía de inicio rápido (modelado y visualización de datos) ..................................... 72
Machine learning en Azure ................................................................................... 89
ML.NET ........................................................................................................................... 91
Machine learning automatizado ................................................................................ 91
Cognitive Services ......................................................................................................... 92
Bot Framework .............................................................................................................. 92
Características y ventajas de Azure Machine Learning ........................................... 93
Kit de desarrollo de software (SDK) ............................................................................ 94
Designer ......................................................................................................................... 94
AutoML ........................................................................................................................... 94
Objetivos de implementación flexible ....................................................................... 94
Operaciones de machine learning aceleradas (MLOps) .......................................... 94
Azure Machine Learning y Azure Synapse Analytics ......................................... 96
Guía de inicio rápido (Azure Machine Learning) ....................................................... 96
Requisitos previos ......................................................................................................... 96
Creación de un modelo de machine learning mediante Designer ......................... 99
Resumen ............................................................................................................... 103
Capítulo 4 Casos prácticos empresariales   105

Caso práctico 1: Información del cliente en tiempo


real con Azure Synapse Analytics ...................................................................... 106
El problema ........................................................................................................... 106
Captura y procesamiento de datos nuevos ............................................................ 107
Recopilación de todos los datos ............................................................................... 107
Búsqueda de información y patrones en los datos ............................................... 108
Descubrimiento en tiempo real ............................................................................... 108
Lluvia de ideas para el diseño ............................................................................ 110
Ingesta de datos ......................................................................................................... 110
Almacenamiento de datos ........................................................................................ 111
Ciencia de datos ......................................................................................................... 112
Paneles e informes .................................................................................................... 112
La solución ............................................................................................................ 112
Flujo de datos ............................................................................................................. 113
Servicios de Azure ................................................................................................ 114
Azure Data Lake Storage Gen2 ................................................................................. 115
Azure Synapse Analytics ........................................................................................... 117
Integración híbrida con Azure Synapse (canalizaciones) ..................................... 118
Power BI ...................................................................................................................... 124
Servicios de soporte de Azure .................................................................................. 126
Conocimientos y acciones .................................................................................. 128
Reducción de los residuos en un 18 % .................................................................... 129
Las tendencias de las redes sociales impulsan el crecimiento
de las ventas en un 14 % ........................................................................................... 130
Conclusión ............................................................................................................ 131
Caso práctico 2: Uso de análisis avanzado en Azure para
crear un aeropuerto inteligente ........................................................................ 132
El problema ........................................................................................................... 132
Desafíos empresariales ............................................................................................. 132
Desafíos técnicos ....................................................................................................... 134
Lluvia de ideas para el diseño ............................................................................ 136
Orígenes de datos ...................................................................................................... 136
Almacenamiento de datos ........................................................................................ 137
Ingesta de datos ......................................................................................................... 137
Control de acceso y seguridad ................................................................................. 138
Descubrimiento de patrones e información .......................................................... 138
La solución ............................................................................................................ 138
¿Por qué usar Azure en el aeropuerto NIA? ........................................................... 138
Arquitectura de la solución ................................................................................ 140
Servicios de Azure ................................................................................................ 142
Azure Synapse Analytics ........................................................................................... 143
Azure Cosmos DB ....................................................................................................... 144
Azure Machine Learning .......................................................................................... 146
Azure Container Registry .......................................................................................... 149
Azure Kubernetes Service ......................................................................................... 150
Power BI ...................................................................................................................... 152
Servicios de soporte .................................................................................................. 154
Conocimientos y acciones .................................................................................. 154
Reducción de los retrasos de los vuelos en un 17 % con el análisis predictivo . 154
Reducción de la congestión y mejora de las ventas minoristas
mediante la visualización inteligente ...................................................................... 155
Conclusión ............................................................................................................ 156
Capítulo 5 Conclusión   157

Palabras finales .................................................................................................... 160


Para un mayor aprendizaje ................................................................................ 160

Índice   161
Prólogo
>
Acerca de

En esta sección se presenta brevemente a los autores y el revisor, la portada de este libro,
las aptitudes técnicas que necesitará para empezar y los requisitos de hardware y software
necesarios para completar todas las actividades y ejercicios incluidos.
ii | Prólogo

Acerca de Análisis en la nube con Microsoft Azure, segunda edición


Análisis en la nube con Microsoft Azure sirve como una guía completa para el
procesamiento y el análisis de macrodatos mediante una variedad de características
de Microsoft Azure. Este libro abarca todo lo que necesita para crear su propio
almacenamiento de datos y aprender numerosas técnicas para obtener información
útil mediante el análisis de macrodatos.
El libro comienza por presentarle el poder de los datos con el análisis de macrodatos,
la Internet de las Cosas (IoT), el machine learning, la inteligencia artificial y DataOps.
Aprenderá sobre el análisis a escala de la nube y los servicios que ofrece Microsoft
Azure para permitir que las empresas descubran información. También se le presentará
la nueva experiencia unificada en el espacio de trabajo de Azure Synapse y Synapse
Studio con una guía práctica.  
Por último, verá dos casos prácticos empresariales reales para mostrar soluciones
de alto nivel con Microsoft Azure. El objetivo de estos casos prácticos será ilustrar
cómo se pueden analizar en Azure los datos en tiempo real para obtener información
significativa y tomar decisiones empresariales. Aprenderá a crear una canalización
de análisis de extremo a extremo en la nube con los conceptos de machine learning
y aprendizaje profundo.
Al final de este libro, dominará el análisis de grandes grupos de datos con Azure
y su uso eficaz para beneficiar a su organización.

Acerca de los autores


Has Altaiar es ingeniero de software de corazón y consultor de profesión. Vive
en Melbourne, Australia, y es el director ejecutivo de vNext Solutions. Su trabajo
se centra en los datos, IoT e IA en Microsoft Azure, y dos de sus últimos proyectos
de IoT ganaron varios premios. Has también es MVP de Microsoft Azure, además
de organizador y orador habitual en conferencias locales e internacionales, como
Microsoft Ignite, NDC y ServerlessDays. Además, es miembro de la junta directiva
de Global AI Community. Su cuenta en Twitter es @hasaltaiar.
Jack Lee es consultor sénior certificado de Azure y director de prácticas de Azure,
apasionado por el desarrollo de software, la nube y las innovaciones de DevOps.
Es colaborador activo de la comunidad tecnológica de Microsoft y se ha presentado
en varias conferencias y grupos de usuarios, incluido el Global Azure Bootcamp de
Microsoft en Canadá. Jack es un mentor y juez experimentado en hackathons y también
es presidente de un grupo de usuarios que se centra en Azure, DevOps y desarrollo de
software. Es coautor de Azure para arquitectos y Análisis en la nube con Microsoft Azure,
publicado por Packt Publishing. Ha sido reconocido como MVP de Microsoft por sus
contribuciones a la comunidad tecnológica. Su cuenta en Twitter es @jlee_consulting.
Acerca de Análisis en la nube con Microsoft Azure, segunda edición | iii

Michael Peña es un experimentado consultor que vive en Sídney, Australia.


Es MVP de Microsoft y un profesional certificado con más de 10 años de experiencia
en datos, móviles, nube, web y DevOps. Durante todos estos años, ha desempeñado
varias labores, pero se considera un desarrollador de corazón. También es orador
internacional y se ha presentado en numerosos eventos, entre los que se incluyen
Microsoft Ignite, NDC, DDD, Cross-Platform Summit y varias reuniones en persona
y virtuales. Michael ha realizado prácticas en Microsoft y también es exalumno
socio de Microsoft. Su cuenta en Twitter es @mjtpena.

Acerca del revisor


Aaditya Pokkunuri es un experimentado ingeniero sénior de bases de datos con
antecedentes laborales en la industria de la tecnología de la información y los
servicios; tiene un total de 11 años de experiencia. Es experto en ajuste de rendimiento,
administración de servidores de bases de datos de MS SQL, SSIS, SSRS, Power BI
y desarrollo de SQL.
Posee un gran conocimiento sobre la replicación, la agrupación en clústeres, las
opciones de alta disponibilidad de SQL Server y los procesos de ITIL, así como
la experiencia en las tareas de administración de Windows, Active Directory
y las tecnologías de Microsoft Azure.
También tiene experiencia en la nube de AWS y es arquitecto asociado de soluciones
de AWS. Aaditya es un importante profesional de tecnología de la información con una
licenciatura en tecnología centrada en la informática y la ingeniería de la Universidad
de Sastra, Tamil Nadu.

Objetivos de aprendizaje
• Explorar los conceptos de los almacenamientos de datos modernos y las
canalizaciones de datos.
• Descubrir consideraciones de diseño únicas mientras aplica una solución
de análisis en la nube.
• Diseñar una canalización de análisis de extremo a extremo en la nube.
• Diferenciar entre datos estructurados, semiestructurados y no estructurados.
• Seleccionar un servicio basado en la nube para sus soluciones de análisis de datos.
• Usar los servicios de Azure para procesar, almacenar y analizar datos
de cualquier tamaño.
iv | Prólogo

Público
Este libro está diseñado para beneficiar a ingenieros de software, desarrolladores,
consultores en la nube y a cualquier persona que esté dispuesta a aprender el proceso
de derivación de información empresarial a partir de macrodatos con Azure.
Aunque no es necesario, una comprensión básica de los conceptos de análisis de datos
como la transmisión de datos, los tipos de datos, el ciclo de vida del machine learning
y los contenedores de Docker lo ayudará a aprovechar el libro al máximo.

Enfoque
Análisis en la nube con Microsoft Azure presenta conceptos complejos con ejemplos
reales para que pueda obtener experiencia práctica y, al mismo tiempo, comprender
los aspectos básicos. El libro contiene numerosas guías de inicio rápido que le permiten
aprender más rápido.

Requisitos de hardware y software


Requisitos de hardware
Para una experiencia óptima del estudiante, recomendamos esta configuración
de hardware:
• Memoria: mínimo 4 GB de RAM
• Pantalla: se recomienda una pantalla de al menos 1440 x 900 o 1600 x 900 (16:9)
• CPU: se recomienda 1 procesador gigahertz (GHz) o más rápido de x86 o x64 bits
Requisitos de software
También se recomienda tener la siguiente configuración de software con antelación:
• Versión más reciente de Windows 10 o versión más reciente de Windows Server.
• Suscripción a Azure. Puede configurar una cuenta gratuita de Azure en
https://azure.microsoft.com/free/synapse-analytics/.
• Versión más reciente de Microsoft Edge.
Acerca de Análisis en la nube con Microsoft Azure, segunda edición | v

Convenciones
A continuación se muestran las palabras de código en el texto, los nombres de bases de
datos, los nombres de carpetas, los nombres de archivo y las extensiones de archivos.
El siguiente fragmento de código hace uso del servicio vinculado de Azure SQL
Database para crear un conjunto de datos que hace referencia a sales_table
en la base de datos SQL de Coolies:
{
   "name": "CooliesSalesDataset",
   "properties":
   {
      "type": "AzureSqlTable",
      "linkedServiceName": {
         "referenceName": "CooliesSalesAzureSqlDbLS",
         "type": "LinkedServiceReference"
      },
      "schema": [ {optional} ],
         "typeProperties": {
            "tableName": "sales_table"
         }
   }
}

Instalación y configuración
Puede instalar Power BI Desktop (https://packt.live/37hUTmK) y empezar a crear
informes interactivos.
Presentación del
1
análisis en Azure
Según una encuesta de Dresner Advisory Services en 2019, un máximo histórico
del 48 % de las organizaciones afirma que la inteligencia empresarial en la nube es
fundamental o muy importante para llevar a cabo sus operaciones comerciales. El
estudio de mercado sobre informática en la nube e inteligencia empresarial también
mostró que los equipos de ventas y marketing obtienen el máximo valor de los análisis.
A medida que las empresas crecen, generan cantidades enormes de datos todos los
días. Estos datos provienen de distintos orígenes, como teléfonos móviles, sensores
de la Internet de las Cosas (IoT) y varios productos de software como servicio (SAAS),
como sistemas Customer Relationship Management (CRM). Las empresas y los
negocios deben escalar y modernizar su arquitectura e infraestructura de datos
a fin de enfrentar la demanda de mantenerse competitivos en sus respectivos sectores.
2 | Presentación del análisis en Azure

La estrategia de referencia para lograr este crecimiento es tener funcionalidades


de análisis a escala de la nube. En lugar de administrar su propio centro de datos,
aprovechar el poder de la nube permite que sus empresas sean más accesibles
para los usuarios. Con la ayuda de un proveedor de servicios en la nube como
Microsoft Azure, se puede acelerar la práctica de análisis de datos sin las limitaciones
de la infraestructura de TI. El juego ha cambiado en lo que respecta al mantenimiento
de las infraestructuras de TI, porque los lagos de datos y los almacenamientos de datos
en la nube pueden almacenar y mantener enormes cantidades de datos.
La simple recopilación de datos no agrega valor a su negocio, por lo que resulta
necesario obtener conocimientos a partir de ellos y ayudar a la empresa a crecer
mediante el análisis de datos o, de lo contrario, solo será un pantano de datos. Azure
es mucho más que un simple centro de recopilación de datos: es un recurso invaluable
para el análisis de datos. El análisis de datos le permite comprender mejor su negocio
y los clientes. Mediante la aplicación de varios conceptos de ciencia de datos, como
ML, el análisis de regresión, los algoritmos de clasificación y la previsión de series
temporales, es posible probar las distintas hipótesis y tomar decisiones basadas
en datos para el futuro. Sin embargo, uno de los desafíos a los que se enfrentan
continuamente las organizaciones es cómo obtener con rapidez estas funcionalidades
de modelado analítico al procesar miles de millones de filas de datos. Es aquí donde
puede resultar útil tener un almacenamiento de datos moderno y una canalización de
datos (encuentre más información al respecto en las siguientes secciones).
El análisis de datos puede ayudar a su negocio a prosperar de distintas maneras. En
el caso del comercio minorista, si comprende mejor a sus clientes, tendrá una mejor
idea de qué productos debe vender y de dónde, cuándo y cómo venderlos. En el sector
financiero, el análisis de datos ayuda a las autoridades a combatir los delitos mediante
la detección de transacciones fraudulentas y al proporcionar evaluaciones de riesgo
más informadas basadas en la inteligencia sobre el historial de actos delictivos.
En este capítulo se abordarán temas fundamentales sobre el poder de los datos con:
• Análisis de macrodatos
• IoT
• Machine Learning (ML)
• Inteligencia artificial (IA)
• DataOps

También descubrirá por qué Microsoft Azure es la plataforma preferida para realizar
análisis en la nube. Por último, estudiará los conceptos fundamentales de un
almacenamiento de datos moderno y las canalizaciones de datos.
El poder de los datos | 3

El poder de los datos


Como consumidor, ha visto cómo la llegada de los datos ha influido en las actividades
diarias. Las aplicaciones de entretenimiento más populares, como YouTube,
ahora ofrecen una experiencia de usuario personalizada con características como
recomendaciones de video basadas en nuestros intereses e información de registro
del historial de búsqueda. Ahora es muy sencillo descubrir contenido nuevo similar
a nuestro contenido favorito y también encontrar contenido de tendencias nuevas
y populares.
Debido al importante cambio en la tecnología portátil, ahora también es posible
hacer un seguimiento de nuestras estadísticas de salud a través del monitoreo de la
frecuencia cardíaca, la presión arterial, etc. Luego, estos dispositivos formulan una
recomendación personalizada en función de los promedios de estas estadísticas.
Pero estas estadísticas de salud personalizadas son solo un ejemplo de la recopilación
masiva de datos que ocurre todos los días a escala global, a lo que contribuimos
de manera activa.
Millones de personas en todo el mundo usan a diario plataformas de redes sociales
y motores de búsqueda. Gigantes de Internet como Facebook, Instagram y Google
usan información de la secuencia de clic para encontrar innovaciones y mejorar sus
servicios. La recopilación de datos también se hace extensamente en proyectos como
The Great Elephant Census e eBird, cuyo objetivo es impulsar la conservación de la
vida salvaje. Se han adoptado técnicas basadas en datos para proyectos relacionados
con la conservación del tigre en la India. Tiene incluso un papel esencial en los
esfuerzos globales para recopilar pruebas, causas y posibles respuestas con respecto
al cambio climático; por ejemplo, entender la temperatura de la superficie del mar,
analizar desastres naturales como las inundaciones costeras y resaltar los patrones del
calentamiento global en un esfuerzo colectivo para salvar el ecosistema.
Organizaciones como Global Open Data for Agriculture and Nutrition (GODAN), que
pueden usar agricultores, ganaderos y consumidores por igual, también contribuyen
a esta incansable recopilación de datos.
Además (como ocurrió con la llegada de la tecnología portátil), el análisis de datos
contribuye con los avances pioneros en el sector de la salud. Los conjuntos de datos
de los pacientes se analizan con el fin de identificar patrones y síntomas tempranos de
enfermedades para así detectar mejores soluciones a problemas conocidos.
La escala de datos de la que hablamos aquí es enorme, por lo que el término popular
"macrodatos" se usa para describir cómo aprovechar estos datos según las necesidades.

Nota
Puede obtener más información sobre datos abiertos aquí.
4 | Presentación del análisis en Azure

Análisis de macrodatos
Con frecuencia, el término "macrodatos" se usa para describir grandes volúmenes de
datos que las herramientas tradicionales no pueden administrar. Se puede caracterizar
con las cinco V:
• Volumen: indica el volumen de datos que se debe analizar para el análisis de
macrodatos. Hoy en día, administramos conjuntos de datos más grandes que
nunca antes. Esto es posible ahora gracias a la disponibilidad de productos
electrónicos como dispositivos móviles y sensores de IoT que se han adoptado
ampliamente en todo el mundo con fines comerciales.
• Velocidad: se refiere a la velocidad a la que se generan los datos. Los dispositivos
y las plataformas, como los que acabamos de mencionar,
generan constantemente datos a gran escala y a gran velocidad. Esto hace que
sea necesario recopilar, procesar, analizar y presentar datos a gran velocidad.
• Variedad: se refiere a la estructura de los datos que se generan. Los orígenes de
datos son incompatibles, tienen una combinación de datos estructurados, no
estructurados y semiestructurados (obtendrá más información sobre esto en la
sección Reunir sus datos).
• Valor: se refiere al valor de los datos que se extraen. Es posible que los datos
accesibles no siempre sean valiosos. Con las herramientas adecuadas, puede
obtener valor de los datos de una manera rentable y escalable.
• Veracidad: es la calidad o credibilidad de los datos. Por lo general, un conjunto
de datos sin procesar contiene mucho ruido (o datos que necesitan limpieza)
y sesgo, por lo que será necesario limpiarlo. Tener un gran conjunto de datos
no es útil si la mayoría de estos no son precisos.
El análisis de macrodatos es el proceso de encontrar patrones, tendencias y
correlaciones en datos no estructurados para obtener conocimientos significativos
que den forma a las decisiones empresariales. Estos datos no estructurados suelen
tener un tamaño de archivo grande (como imágenes, videos y gráficos sociales).
Esto no significa que las bases de datos relacionales no sean pertinentes para los
macrodatos. De hecho, las plataformas de almacenamiento de datos moderno como
Azure Synapse Analytics (anteriormente conocido como Azure SQL Data Warehouse)
admiten datos estructurados y semiestructurados (como JSON) y se pueden escalar
infinitamente para admitir de terabytes a petabytes de datos. Con Microsoft Azure,
cuenta con la flexibilidad de elegir cualquier plataforma. Estas tecnologías se pueden
complementar entre sí para lograr una sólida canalización de análisis de datos.
Estos son algunos de los mejores casos prácticos del análisis de macrodatos:
• Análisis de las redes sociales: a través de sitios de redes sociales como Twitter,
Facebook e Instagram, las empresas pueden conocer lo que los clientes dicen sobre
sus productos y servicios. El análisis de las redes sociales permite que las empresas
se dirijan a su público mediante las preferencias de usuario y las tendencias del
La Internet de las Cosas (IoT) | 5

mercado. Los desafíos aquí son la enorme cantidad


de datos y la naturaleza no estructurada de los tweets y las publicaciones.
• Prevención de fraudes: este es uno de los casos prácticos más conocidos de los
macrodatos. Una de las características destacadas del análisis de macrodatos cuando
se usa para la prevención de fraudes es la capacidad de detectar anomalías en un
conjunto de datos. Ejemplo de esto es la validación de transacciones con tarjeta de
crédito mediante la comprensión de los patrones de transacción, como los datos de
ubicación y las categorías de artículos comprados. En este caso, el mayor desafío es
garantizar que los modelos de IA/ML sean limpios e imparciales. Existe la posibilidad
de que el modelo se haya entrenado solo para un parámetro específico, como el país
de origen del usuario; por lo tanto, el modelo se centrará solo en determinar patrones
en la ubicación del usuario y se podría perder otros parámetros.
• Optimización de precios: con el análisis de macrodatos, se puede predecir cuáles
son los puntos de precio que generarán los mejores resultados en función de los
datos históricos del mercado. Esto permite que las empresas se aseguren de que
sus precios no sean demasiado altos o demasiado bajos. Aquí, el desafío es que
hay muchos factores que pueden afectar los precios. Centrarse solo en un factor
específico, como el precio de los competidores, podría finalmente entrenar el
modelo para que solo se centre en esa área y podría pasar por alto otros factores,
como el clima y los datos sobre el tráfico.
Por lo general, los macrodatos para negocios y empresas van acompañados del concepto
de tener una infraestructura de IoT, donde cientos, miles o incluso millones de dispositivos
están conectados a una red que envía datos a un servidor de manera constante.
La Internet de las Cosas (IoT)
La IoT tiene un papel fundamental en el escalado de la aplicación para ir más allá de los
orígenes de datos actuales. La IoT es, simplemente, una interconexión de dispositivos
que están integrados para cumplir un propósito único en los objetos que nos rodean
para enviar y recibir datos. La IoT nos permite recopilar constantemente datos sobre
"cosas" sin codificarlas manualmente en una base de datos.
Un reloj inteligente es un buen ejemplo de un dispositivo de IoT que registra los
signos vitales de su cuerpo de manera constante. En lugar de obtener un dispositivo
de medición y codificarlo en un sistema, un reloj inteligente permite registrar
automáticamente los datos. Otro buen ejemplo es un rastreador de dispositivos para
un recurso que captura información sobre la ubicación, la temperatura y la humedad.
Esto permite que las empresas de logística supervisen sus artículos en tránsito, para
garantizar así la calidad y la eficacia de sus servicios.
A escala, estos dispositivos de IoT generan desde gigabytes hasta terabytes de datos. Por
lo general, estos datos se almacenan en un lago de datos en un formato no estructurado
y sin procesar y luego se analizan para obtener información empresarial. Un lago de datos
es un repositorio centralizado de todos los datos estructurados, semiestructurados y no
estructurados. En el ejemplo de la empresa de logística que mencionamos anteriormente, se
podrían generar patrones (como las mejores rutas de entrega). Los datos también se podrían
usar para entender anomalías como la fuga de datos o actividades posiblemente fraudulentas.
6 | Presentación del análisis en Azure

Machine learning
A medida que aumenta el tamaño de sus datos, son muchas las oportunidades que
se abren para que los negocios vayan más allá de comprender las tendencias y los
patrones empresariales. El machine learning y la inteligencia artificial son ejemplos de
innovaciones que puede aprovechar y utilizar con los datos. Actualmente, desarrollar
sus funcionalidades de inteligencia artificial y ML es relativamente sencillo gracias
a la disponibilidad de tecnologías que son requisito y a la capacidad de escalar su
almacenamiento y proceso en la nube.
El machine learning y la inteligencia artificial son términos que a menudo se mezclan.
En pocas palabras, el machine learning es un subconjunto (o aplicación) de inteligencia
artificial. El machine learning tiene como objetivo permitir que los sistemas aprendan
a partir de conjuntos de datos anteriores y se adapten automáticamente sin necesidad
de intervención humana. Esto es posible gracias a una serie de algoritmos que se
aplican al conjunto de datos; el algoritmo analiza los datos casi en tiempo real y luego
presenta posibles acciones en función de la precisión o la confianza derivadas a partir
de experiencias previas.
El término "learning", que significa "aprendizaje", indica que el programa aprende
constantemente a partir de los datos que se le proporcionan. El objetivo del machine
learning va más por el lado de obtener precisión, no el éxito. Existen tres categorías
principales de algoritmos de machine learning: supervisados, no supervisados
y refuerzo.
Los algoritmos de machine learning supervisados crean una función de asignación para
asignar las variables de entrada con la variable de salida. El algoritmo usa los conjuntos
de datos existentes para entrenarse de manera automática para así predecir la salida.
La clasificación es una forma de ML supervisado que se puede usar en aplicaciones
como la categorización de imágenes o la segmentación de clientes, que se usa para
campañas de marketing específicas.
Por otro lado, el machine learning no supervisado es cuando se deja que un programa
encuentre un patrón propio sin usar ninguna etiqueta. Un buen ejemplo es comprender
los patrones de compra de los clientes al comprar productos. Se obtienen agrupaciones
inherentes (agrupación en clústeres) de acuerdo con los comportamientos de compra
y el programa puede asociar clientes y productos según los patrones de compra. Por
ejemplo, puede discernir que los clientes que compran el Producto A también tienden
a comprar el Producto B. Este es un ejemplo de un algoritmo de recomendación basado
en el usuario y un análisis basado en el mercado. Con el tiempo, lo que esto significaría
para los usuarios es que cuando compran un artículo determinado, como un libro,
también se anima al usuario a que compre otros libros que pertenezcan a la misma
serie, género o categoría.
Inteligencia artificial (IA) | 7

El aprendizaje de refuerzo (RL) proporciona información significativa y acciones


basadas en recompensas y castigos. La principal diferencia entre esto y el aprendizaje
supervisado es que no necesita la entrada y salida etiquetadas como parte del
algoritmo. Un excelente ejemplo de ello es la nueva tendencia financiera de "asesores
robóticos". Los asesores robóticos se ejecutan con agentes que reciben recompensas
y castigos en función de su rendimiento de existencias (es decir, ganancias y pérdidas).
Con el tiempo, el agente puede reconocer si desea retener, comprar o vender
acciones. Esto ha sido un cambio de juego porque, en el pasado, los analistas tenían
que tomar cada decisión; ahora, la mayoría de las complicadas tendencias de datos
ya están analizadas para usted y los analistas pueden elegir escuchar al agente o no.
Sin embargo, el comercio financiero es muy complejo, debido a la naturaleza de los
parámetros presentes en el mundo, por lo que no todas las predicciones de los asesores
robóticos son exactas.

Inteligencia artificial (IA)


La inteligencia artificial va más allá de lo que puede hacer el machine learning. Se trata
de tomar decisiones y apuntar al éxito en lugar de a la precisión. Una manera de pensar
en ello es que el machine learning tiene como objetivo obtener conocimientos, mientras
que la inteligencia artificial apunta a la sabiduría o inteligencia. Un ejemplo de IA en
acción sería el robot Atlas de Boston Dynamic, que puede navegar libremente en el
mundo abierto y evitar obstáculos sin ayuda del control de las personas. Para navegar,
el robot no depende completamente de los datos de los mapas históricos. Sin embargo,
para el machine learning, se trata de crear o predecir un patrón a partir del análisis de
datos históricos. De manera similar a lo que ocurre con la navegación del robot, se trata
de comprender la ruta óptima mediante la creación de patrones basados en datos de
tráfico históricos y de origen público.
Configurar un almacenamiento de datos moderno con análisis en la nube es el factor
clave para preparar la ejecución de ML/IA. Sin migrar las cargas de trabajo a la nube,
los modelos derivados de ML/IA se encontrarán con varios obstáculos para poder
maximizar el valor empresarial de estas tecnologías emergentes. Un almacenamiento
de datos moderno y una canalización de análisis forman la columna vertebral que le
permite superar estos obstáculos.
Microsoft es líder en el campo del machine learning y la inteligencia artificial, ya
que ha impulsado mucha innovación en sus productos y herramientas, por ejemplo,
el asistente digital de Windows, Cortana y los subtítulos y subtítulos en directo de
Office 365. Ofrecen una amplia variedad de productos, herramientas y servicios como
Microsoft Cognitive Services, Azure Machine Learning Studio, Azure Machine Learning
Service y ML.NET.
8 | Presentación del análisis en Azure

Microsoft está dando un ejemplo con su iniciativa AI for Good, que tiene el objetivo de
hacer que el mundo sea más sostenible y accesible a través de la inteligencia artificial.
Un proyecto especialmente interesante es Inteligencia artificial para el leopardo de las
nieves, donde Microsoft usa la tecnología de la inteligencia artificial para detectar los
leopardos de las nieves (que son casi invisibles en entornos nevados) a fin de proteger
esta especie en peligro de extinción. Explorar la inteligencia artificial y el aprendizaje
profundo (la capacidad de aprender sin supervisión humana), específicamente los
aspectos de la fórmula y la ciencia de datos, no son el foco de este libro, pero sí se
abordarán algunos conceptos en capítulos posteriores (obtenga más información al
respecto en el Capítulo 3, Procesamiento y visualización de los datos).

DataOps
Si quiere ser eficiente y ágil en lo que respecta a la implementación del análisis de datos
en su empresa, necesita la cultura y los procesos correctos. Aquí es donde aparece el
concepto de DataOps. DataOps elimina la barrera de coordinación entre los equipos de
datos (analistas, ingenieros y científicos) y de operaciones (administradores y responsables
de operaciones) para alcanzar la velocidad y precisión en el análisis de datos.
DataOps trata sobre una cultura de colaboración entre distintos roles y funciones. Los
científicos de datos tienen acceso a datos en tiempo real para explorarlos, prepararlos
y servir los resultados. Los procesos y flujos automatizados resultan invaluables para
este esfuerzo de colaboración entre analistas y desarrolladores, ya que proporcionan
un acceso fácil a estos datos a través de herramientas de visualización. Los datos
relevantes se deben servir a los usuarios finales a través de aplicaciones web o móviles;
por lo general, esto se puede hacer con una interfaz de programación de aplicaciones
(API). Para los directores generales, DataOps representa una toma de decisiones más
rápida, ya que les permite supervisar su negocio a un alto nivel sin tener que esperar
a que los responsables de los equipos les informen sobre ello. En la Figura 1.1 se intenta
explicar la idea de una cultura colaborativa de DataOps:

Figura 1.1: El proceso de DataOps


¿Por qué Microsoft Azure? | 9

Una vez que un equipo alcanza la velocidad y precisión deseadas al probar sus hipótesis
(como la probabilidad de que alguien compre un producto según sus características
y comportamiento), puede obtener mejores conocimientos. Cuando eso ocurre, cuenta
con puntos de decisión más razonables y prácticos para las partes interesadas del
negocio que minimizan los riesgos y maximizan los beneficios.

¿Por qué Microsoft Azure?


Microsoft Azure es un conjunto de servicios de informática en la nube de nivel
empresarial que Microsoft creó mediante sus propios centros de datos administrados.
Azure es la única nube con una verdadera solución de análisis integral. Con Azure, los
analistas pueden obtener conocimientos en cuestión de segundos a partir de todos
los datos de la empresa. Azure proporciona un flujo de datos sólido y maduro sin
limitaciones en la simultaneidad.
Azure admite la infraestructura como servicio (IaaS), la plataforma como servicio
(PaaS) y SaaS. Muchas instituciones gubernamentales de todo el mundo, así como el
95 % de las empresas de Fortune 500, usan Azure, desde sectores como la atención
sanitaria y los servicios financieros hasta el comercio minorista y la fabricación.
Microsoft es un conglomerado tecnológico que ha permitido que muchas personas
logren más con menos, durante décadas, con su software, sus herramientas y sus
plataformas. Azure proporciona flexibilidad. Las herramientas e infraestructuras
familiares de Microsoft (como SQL Server, Windows Server, Internet Information
Services [IIS] y .NET) o herramientas como MySQL, Linux, PHP, Python, Java
o cualquier otra tecnología open source se pueden ejecutar en la nube de Azure. Atrás
quedaron los días en que solo se podía trabajar en un conjunto aislado de herramientas
y tecnologías.
Azure ofrece distintos productos y servicios en función de sus necesidades. Tiene la
opción de hacerlo todo de manera personalizada, desde administrar su IaaS mediante
las máquinas virtuales de Windows Server con Enterprise SQL Server instalado, hasta
usar una oferta de PaaS administrada como Azure Synapse Analytics.
10 | Presentación del análisis en Azure

En la Figura 1.2 se muestra la amplia variedad de herramientas y servicios de Azure


específicos de datos que se pueden usar para crear canalizaciones de datos integrales:

Figura 1.2: Servicios relacionados con datos de Microsoft Azure

Azure le otorga la flexibilidad de elegir el mejor enfoque para resolver un problema por
sí mismo, en lugar de verse obligado a ceder un producto menos adaptable para realizar
una función antinatural. Tampoco está limitado solo a SQL Server. También tiene la
flexibilidad de elegir otros tipos de bases de datos o almacenamiento, ya sea a través
de un servicio instalado en un servidor Linux o una solución en contenedores, o bien
una plataforma administrada (como Azure Cosmos DB para sus instancias de Cassandra
y MongoDB). Esto es muy importante porque, en el mundo real, los distintos escenarios
requieren soluciones, herramientas y productos distintos.
Microsoft Azure ofrece una plataforma integral, desde Azure Active Directory para
administrar su identidad de usuario y acceso, hasta las ofertas de Azure IoT (como
IoT Hub) para recopilar datos de cientos y miles de dispositivos de IoT. También
proporciona servicios como herramientas de desarrollo y opciones de hospedaje en la
nube para que sus desarrolladores se pongan al día, así como distintas herramientas de
análisis y machine learning que permiten a los científicos de datos, ingenieros de datos
y analistas de datos ser más productivos (busque más información al respecto en el
Capítulo 3, Procesamiento y visualización de los datos).
El espectro completo de los servicios de Azure es demasiado amplio para abarcarlo
aquí, por lo que este libro se centrará en el conjunto de productos clave de
almacenamiento de datos e inteligencia empresarial: Azure Data Lake, Azure Synapse
Analytics, Power BI y Azure Machine Learning.
¿Por qué Microsoft Azure? | 11

Seguridad
Microsoft considera que la prioridad principal es la seguridad. Cuando se trata de
los datos, la privacidad y la seguridad no son negociables; siempre habrá amenazas.
Azure tiene las características de seguridad y privacidad más avanzadas del espacio
de análisis. Los servicios de Azure admiten la protección de datos a través de redes
virtuales (VNets) para que, aunque estén en la nube, el Internet público no pueda
tener acceso a los puntos de datos. Solo los usuarios de la misma red virtual pueden
comunicarse entre sí. Para las aplicaciones web, obtiene un firewall de aplicaciones
web (WAF) proporcionado por Azure Application Gateway, que garantiza que solo las
solicitudes válidas puedan tener acceso a su red.

Con el control de acceso basado en roles (autorización), puede estar seguro de que
solo las personas con los roles correctos, como los administradores, tengan acceso
a componentes específicos y a las funcionalidades de diferentes recursos. Por otro
lado, la autenticación garantiza que si no cuenta las credenciales correctas (como las
contraseñas), no podrá tener acceso a un recurso. La autorización y la autenticación
están integradas en varios servicios y componentes de Microsoft Azure con la ayuda
de Azure Active Directory.
Azure también proporciona un servicio llamado Azure Key Vault. Key Vault permite
almacenar y administrar de forma segura secretos y contraseñas, crear claves de
cifrado y administrar certificados para que las aplicaciones no tengan acceso directo
a claves privadas. Si sigue este patrón con Key Vault, no es necesario codificar de forma
rígida sus secretos y contraseñas en el repositorio de scripts y de código fuente.
Azure Synapse Analytics usa ML e IA para proteger sus datos. En Azure SQL, Microsoft
proporciona seguridad de datos avanzada para garantizar que sus datos estén
protegidos. Esto incluye comprender si la base de datos tiene vulnerabilidades, como
números de puerto, que están disponibles públicamente. Estas funcionalidades también
permiten cumplir con varios estándares, como el Reglamento general de protección de
datos (RGPD), al garantizar que los datos del cliente que se consideran confidenciales
se cataloguen como secretos. Azure SQL también ha anunciado recientemente sus
nuevas características, seguridad de nivel de fila (RLS) y seguridad de nivel de
columna (CLS), para controlar el acceso a filas y columnas en una tabla de base de
datos, en función de las características del usuario.

Microsoft invierte al menos mil millones de dólares cada año en el espacio de la


ciberseguridad, incluida la plataforma Azure. Azure cuenta con varias credenciales
y premios de organismos de evaluación independientes, lo que significa que puede
confiar en Azure en todos los aspectos de seguridad, desde la seguridad física (que
ningún usuario no autorizado pueda obtener acceso físico a los centros de datos) hasta
la seguridad en el nivel de aplicación.
Estas son algunas características de seguridad que debe tener en cuenta si mantiene su
propio centro de datos.
12 | Presentación del análisis en Azure

Escala en la nube
Azure cambió el sector al hacer que el análisis de datos fuera rentable. Antes de la
adopción masiva de la informática en la nube, para planificar el análisis de datos con
terabytes, o incluso petabytes, de datos, era necesario planificar adecuadamente las
cosas y asegurarse de tener los gastos de capital para llevarlas a cabo. Esto significa que
solo para empezar se debería contar con una infraestructura inicial muy alta y costos
de servicios profesionales. Pero, con Azure, puede empezar desde abajo (muchos de los
servicios tienen niveles gratuitos). Puede escalar o reducir vertical u horizontalmente
sus recursos en la nube en minutos. Azure ha democratizado la funcionalidad de
escalado al hacerla económicamente viable y accesible para todos, tal como se muestra
en la Figura 1.3:

Figura 1.3: Regiones de Microsoft Azure

Microsoft Azure actualmente cuenta con más de 60 regiones de centro de datos que
admiten más de 140 países. Algunas empresas y sectores empresariales requieren que
sus datos estén hospedados en el mismo país que las operaciones comerciales. Con
la disponibilidad de distintos centros de datos en todo el mundo, es fácil expandirse
a otras regiones. Este enfoque de varias regiones también es beneficioso en términos
de hacer que sus aplicaciones estén altamente disponibles.
¿Por qué Microsoft Azure? | 13

El verdadero poder de la nube es su elasticidad. Esto le permite no solo aumentar los


recursos, sino también reducirlos cuando sea necesario. En la ciencia de datos, esto
resulta muy útil porque la ciencia de datos conlleva cargas de trabajo variables. Por
ejemplo, cuando los ingenieros y científicos de datos analizan un conjunto de datos,
necesitan más cálculo. Azure, a través de servicios como Azure Machine Learning
(obtenga más información en el Capítulo 3, Procesamiento y visualización de los datos),
le permite escalar de acuerdo con la demanda. Luego, durante las horas de menor
actividad (como fines de semana y de 7:00 p. m. a 7:00 a. m. en la semana), cuando los
científicos e ingenieros no necesitan la potencia de procesamiento para analizar los
datos, puede reducir sus recursos para que no sea necesario pagar por la ejecución
ininterrumpida de los recursos. Azure ofrece básicamente un servicio de "pago por uso"
o "pago por lo que usa".
Azure también proporciona un Acuerdo de nivel de servicio (SLA) para sus servicios
como sus compromisos para garantizar el tiempo de actividad y la conectividad
para sus clientes de producción. Si se produce un tiempo de inactividad o un
incidente, se aplicarán créditos de servicio (reembolsos) a los recursos afectados.
Esto le dará tranquilidad, ya que su aplicación siempre estará disponible con una
cantidad mínima de tiempo de inactividad.
Existen distintos enfoques y patrones de escala que proporciona Microsoft Azure:
• Escalado vertical: es cuando se agregan más recursos a la misma instancia
(servidor o servicio). Un ejemplo de esto es cuando una máquina virtual aumenta
de 4 GB de RAM a 16 GB de RAM. Este es un enfoque simple y directo para
adoptar cuando es necesario escalar la aplicación. Sin embargo, hay un límite
máximo técnico sobre cuánto se puede aumentar una instancia, que es el
enfoque de escalado más costoso.
• Escalado horizontal: es cuando la aplicación se implementa en varias instancias.
Lógicamente, esto significaría que la aplicación se puede escalar de manera
infinita porque no se usa un solo equipo para realizar las operaciones. Esta
flexibilidad también presenta algunas complejidades. Por lo general, estas
complejidades se abordan mediante la realización de diversos patrones
y diferentes tecnologías de orquestación, como Docker y Kubernetes.
• Escalado geográfico: es cuando las aplicaciones se escalan a diferentes
ubicaciones geográficas por dos razones principales: resiliencia y latencia
reducida. La resiliencia permite que la aplicación funcione libremente en
esa región sin que todos los recursos estén conectados a una región maestra.
La latencia reducida significa que los usuarios de esa región pueden obtener
sus solicitudes web más rápido porque están cerca del centro de datos.
• Particionamiento: es una de las técnicas para distribuir grandes volúmenes
de datos estructurados relacionados en varias bases de datos independientes.
14 | Presentación del análisis en Azure

• Desarrollo, pruebas, aceptación y producción (DTAP): es el enfoque de tener


varias instancias en diferentes entornos lógicos. Esto se hace habitualmente
para separar los servidores de desarrollo y pruebas de los servidores de ensayo
y producción. Azure DevTest Labs ofrece un entorno de desarrollo y pruebas que
se puede configurar con directivas de grupo.
Otra ventaja de que su empresa esté en la nube es la disponibilidad de sus servicios.
Con Azure, es más fácil hacer que su infraestructura y recursos tengan redundancia
geográfica, es decir, que estén disponibles para varias regiones y centros de datos de todo
el mundo. Digamos que quiere expandir su empresa de Australia a Canadá. Para lograrlo, su
SQL Server debe ser de redundancia geográfica para que no sea necesario que los usuarios
canadienses consulten la aplicación y la instancia de la base de datos en Australia.
Azure, si bien es un conjunto colectivo de productos y ofertas de servicios, no lo obliga
al "todo incluido". Esto significa que puede comenzar implementando una arquitectura
híbrida de centros de datos locales y en la nube combinados (Azure). Existen diferentes
enfoques y tecnologías involucrados en una solución híbrida, como el uso de redes
privadas virtuales (VPN) y Azure ExpressRoute, si necesita acceso dedicado.
Con Azure Synapse Analytics, a través de integraciones de datos, Azure le permite
obtener una instantánea de los orígenes de datos de su SQL Server local. El mismo
concepto se aplica cuando tiene otros orígenes de datos de otros proveedores de nube
o productos SaaS; tiene la flexibilidad de obtener una copia de esos datos en su lago de
datos de Azure. Esta flexibilidad es muy conveniente porque no lo pone en una posición
de dependencia de un proveedor en la que debe realizar una migración completa.

Principales impulsores económicos para adoptar el análisis


de datos en la nube
Las distintas empresas tienen diferentes razones para adoptar el análisis de datos con
una nube pública como Microsoft Azure. Pero la mayoría de las veces, se reduce a tres
razones principales: crecimiento y escalado rápidos, menores costos e impulso de la
innovación.

Crecimiento y escalado rápidos


Las empresas y los negocios necesitan expandir rápidamente su huella digital. Con
el rápido crecimiento de las aplicaciones móviles, en especial de los tipos de medios
(como imágenes y videos), sensores de IoT y datos de redes sociales, hay muchos
datos para capturar. Esto significa que las empresas y los negocios necesitan escalar
su infraestructura para soportar estas demandas masivas. Los tamaños de las bases
de datos de las empresas crecen continuamente de gigabytes de datos a terabytes,
o incluso petabytes, de datos.
Ahora, los usuarios finales son más exigentes que nunca. Si una aplicación no responde
en cuestión de segundos, lo más probable es que el usuario se desconecte de su servicio
o producto.
Principales impulsores económicos para adoptar el análisis de datos en la nube | 15

El escalado no solo se aplica a los consumidores de las aplicaciones; también es


importante para que los científicos de datos, los ingenieros de datos y los analistas
de datos analicen los datos de una empresa. Escalar una infraestructura es
fundamental, ya que no puede esperar que los ingenieros de datos manejen grandes
cantidades de datos (de gigabytes a terabytes) y ejecuten scripts para probar los
modelos de datos en un solo equipo. Aunque ofrezca esto en una única instancia
de servidor de alto rendimiento, tardará semanas o días en finalizar la prueba. Sin
mencionar el hecho de que provocará cuellos de botella de rendimiento para los
usuarios finales que consumen la misma base de datos.

Con un almacenamiento de datos moderno como Azure Synapse Analytics, tiene


algunas funcionalidades administradas para escalar, como una capa de almacenamiento
en caché dedicada. El almacenamiento en caché permitirá que los analistas, ingenieros
y científicos realicen consultas con más rapidez.

Reducción de costos
Debido a las demandas de escalado, las empresas y los negocios deben tener un
mecanismo para expandir su infraestructura de datos de una manera rentable
y financieramente viable. Es demasiado costoso configurar un almacenamiento
de datos local. Las siguientes son solo algunas de las consideraciones económicas:
• El tiempo de espera para la entrega del servidor y los procesos de adquisición
internos asociados.
• Costos de redes y otros costos de infraestructura física, como la refrigeración
de hardware y la administración de inmuebles de los centros de datos.
• Costos de servicios profesionales asociados con la configuración y el
mantenimiento de estos servidores.
• Costos de licencia (si hay).
• La productividad perdida de personas y equipos que no pueden enviar sus
productos más rápido.
Con un almacenamiento de datos moderno, puede crear nuevos servidores de alto
rendimiento con tarjetas gráficas de alto rendimiento a petición. Y con el uso de un
proveedor de nube como Microsoft Azure, solo tendrá que pagar por el tiempo que use
estos servidores. Puede apagarlos si ya no los necesita. No solo puede desactivarlos
a petición, sino que si resulta que un servicio en particular no es adecuado para sus
necesidades, puede eliminar estos recursos y simplemente proporcionar otro servicio.
Azure también ofrece un descuento para instancias "reservadas" que se compromete
a usar durante un período de tiempo específico. Son muy útiles para las bases de datos,
soluciones de almacenamiento y aplicaciones que necesitan estar en funcionamiento
ininterrumpido, con un tiempo de inactividad mínimo.
16 | Presentación del análisis en Azure

Impulso de la innovación
Las empresas necesitan innovar constantemente en este mercado tan competitivo;
de lo contrario, aparecerá algún competidor y se quedará con la cuota de mercado.
Obviamente, nadie puede predecir el futuro con una precisión del 100 %, por lo que las
empresas necesitan tener un mecanismo para explorar cosas nuevas en función de sus
conocimientos.
Un buen ejemplo de esto son los sectores de subcontratación de procesos
empresariales (BPO) y telecomunicaciones (telco), donde hay petabytes de datos
todavía no explorados. Con el almacenamiento de datos moderno de Microsoft Azure,
los actores de estos sectores pueden tener la infraestructura para explorar los datos.
Con Azure Synapse Analytics, Power BI y Azure Machine Learning, pueden explorar sus
datos para impulsar las decisiones económicas. Tal vez puedan llegar a un modelo de
datos que pueda detectar acciones fraudulentas o comprender mejor las preferencias
y las expectativas de sus clientes para mejorar los índices de satisfacción. Con los
análisis avanzados, estas empresas pueden llegar a tomar decisiones relevantes hoy
(y posiblemente en el futuro) y no solo se limitan a analizar datos históricos.

¿Qué pasa si quiere crear un vehículo autónomo? Necesitará un almacenamiento


de datos sólido para almacenar sus conjuntos de datos y una enorme cantidad de
procesamiento de datos. Debe capturar inmensas cantidades de datos, ya sea a través
de imágenes o videos que el vehículo captura continuamente, y debe encontrar una
respuesta casi al instante basada en el conjunto de datos y los algoritmos.
El uso de un proveedor de nube como Microsoft Azure le permitiría probar y validar
sus ideas desde el comienzo, sin necesidad de una gran inversión. Con varios servicios
de Azure y herramientas relacionadas como GitHub y Visual Studio, puede crear
prototipos rápidamente de sus ideas y explorar las posibilidades. ¿Qué pasa si el
producto o servicio en el que usted o su equipo están trabajando no se desarrolla
realmente de manera adecuada? Si lo hace en el entorno local, seguirá teniendo altos
costos de responsabilidad y operación, porque posee la infraestructura en términos
físicos, además de los costos de licencias y servicios asociados.

¿Por qué necesita un almacenamiento de datos moderno?


Un almacenamiento de datos es un repositorio centralizado que agrega diferentes
orígenes de datos (a menudo dispares). La principal diferencia entre un almacenamiento
de datos y una base de datos es que los almacenamientos de datos están destinados
a procesamiento analítico en línea (OLAP) y, por otro lado, las bases de datos están
destinadas a procesamiento de transacciones en línea (OLTP). OLAP significa
que los almacenamientos de datos se usan principalmente para generar análisis,
inteligencia empresarial e incluso modelos de machine learning. OLTP significa que
las bases de datos se usan principalmente para transacciones. Estas transacciones
son las operaciones diarias de las aplicaciones donde leen y escriben datos en bases
de datos de manera simultánea.
¿Por qué necesita un almacenamiento de datos moderno? | 17

Un almacenamiento de datos es esencial si quiere analizar sus macrodatos, ya que


también contiene datos históricos (que a menudo se conocen como "datos inactivos").
La mayoría de los datos almacenados tienen información heredada, como los datos
almacenados hace 5 años, hace 10 años o incluso hace 15 años. Es probable que no
quiera que la misma instancia de la base de datos en la que sus usuarios finales hacen
consultas contenga también esos datos históricos, ya que eso podría afectar su
rendimiento cuando esté a escala.
Estas son algunas de las ventajas de tener un almacenamiento de datos moderno:
• Admite cualquier origen de datos.
• Altamente escalable y disponible.
• Proporciona información a partir de paneles analíticos en tiempo real.
• Admite un entorno de machine learning.

Microsoft ofrece las siguientes herramientas y servicios que crean colectivamente


un almacenamiento de datos moderno:

Figura 1.4: Almacenamiento de datos moderno con Azure Synapse Analytics

Existen muchos patrones y arquitecturas emergentes para el almacenamiento de


datos, pero los más populares son aquellos que admiten la separación de deberes
y responsabilidades en las distintas fases de la canalización de datos (obtenga más
información al respecto en la sección Creación de una canalización de datos).
18 | Presentación del análisis en Azure

Para entender qué significa que un almacenamiento de datos sea moderno, primero
debe comprender cómo se crea y administra uno tradicional. Esto se reduce a dos
conceptos principales:
• Proceso: se refiere a la capacidad de procesar los datos y darles sentido.
Puede ser en forma de consulta de base de datos para que los resultados
sean accesibles a otra interfaz, como las aplicaciones web.
• Almacenamiento: se refiere a la capacidad de mantener los datos para
que sean accesibles en cualquier momento en el futuro.

Un almacenamiento de datos moderno separa el proceso y el almacenamiento de


manera rentable. A diferencia del caso tradicional con SQL Server y SQL Server
Integration Services (SSIS), el modelo de precios implica tanto la capacidad de
almacenamiento como la potencia informática para analizar datos. Azure es el primer
proveedor de nube que ofrece un almacenamiento de datos que separa el proceso
y el almacenamiento.
Otro cambio en el patrón es que el modelo extracción, transformación y carga
(ETL) tradicional de almacenamiento de datos ahora cambió a extracción, carga y
transformación (ELT). En el modelo ETL tradicional, los analistas están acostumbrados a
esperar a que los datos se transformen primero, ya que no tienen acceso directo a todos
los orígenes de datos. En un almacenamiento de datos moderno, se pueden almacenar
enormes cantidades de datos en un lago de datos o en un almacenamiento de datos y los
analistas pueden transformarlos en cualquier momento sin necesidad de esperar a que
los ingenieros de datos o los administradores de bases de datos sirvan los datos.
Por supuesto, hay más factores que tener en cuenta para modernizar el almacenamiento
de datos, como la extensibilidad, la recuperación ante desastres y la disponibilidad. Sin
embargo, por el momento, en esta sección nos centraremos en el proceso.

Reunir sus datos


En el pasado, las bases de datos solían ser el único origen de datos para sus
aplicaciones. Pero, actualmente, tiene cientos y miles de orígenes de datos diferentes.
Los datos que provienen de estos distintos orígenes tienen diferentes tipos de datos,
algunos estructurados, otros no estructurados y algunos semiestructurados.
Datos estructurados: el término "estructurado" sugiere que hay un patrón que se
puede interpretar fácilmente. Por lo general, esto viene con un conjunto predefinido
de modelos y un esquema. Un sistema de administración de bases de datos
relacionales (RDBMS) como Microsoft SQL Server es un ejemplo común de solución de
almacenamiento de datos estructurada. Esto se debe a que viene con un esquema de
base de datos y columnas de tabla que definen los datos que se están almacenando.
¿Por qué necesita un almacenamiento de datos moderno? | 19

Estos son algunos ejemplos de tipos de datos estructurados:


• Nombres de clientes
• Direcciones
• Geolocalización
• Fecha y hora
• Números de teléfono fijo y móvil
• Números de tarjeta de crédito
• Nombres de productos y referencias de almacén (SKU)
• Información general de las transacciones, como "Desde" y "Hasta" con marcas
de tiempo y valores de importe
Un buen ejemplo de datos estructurados es la información que proporcionan los
usuarios cuando se registran por primera vez en una aplicación. Se les presenta un
formulario que deben rellenar. Una vez que esa persona hace clic en el botón Submit
(Enviar), envía los datos a una base de datos y los introduce en una tabla de usuario con
columnas predefinidas: nombres, direcciones y otros detalles. Esto permitirá que el
usuario inicie sesión en la aplicación, ya que el sistema ahora puede buscar el registro
existente para el usuario registrado en la base de datos.

A partir de ahí, un usuario puede tener acceso a la aplicación y hacer transacciones,


como transferir dinero y activos. Con el tiempo, los usuarios generarán una serie de
transacciones que finalmente agrandarán su base de datos. El esquema de la base de
datos también se expandirá para admitir diferentes requisitos comerciales.
Una vez que tenga los datos suficientes, podrá realizar la exploración de datos. Es
aquí donde se empiezan a buscar patrones en los datos. Para identificar transacciones
fraudulentas y probar hipótesis, puede analizar importes de transacciones grandes
y repetidos del mismo usuario.
La exploración de datos es limitada porque solo puede basarla en un conjunto de datos
estructurado y con forma semántica. ¿Qué pasa si también quiere tener en cuenta
otros orígenes de datos no estructurados, como texto en formato libre? Un ejemplo
es una descripción de la transacción, que puede indicar la naturaleza o el destinatario
de la transacción. No quiere leer manualmente la descripción de cada transacción
e insertarla en la columna derecha de una tabla de base de datos. Es probable que solo
quiera extraer la información pertinente y transformarla en un formato estructurado.
Aquí es donde entran en juego los datos no estructurados.
Datos no estructurados: este tipo de datos, más o menos, es el "resto"; es decir, todo
lo que no son datos estructurados. Esto se debe principalmente a que no se limita
a ningún almacenamiento y tipo de datos.
Por lo general, los tipos de datos no estructurados no tienen un modelo de datos
predefinido que se pueda ajustar directamente a una base de datos. Los datos no
estructurados pueden tener una alta densidad de texto y normalmente se leen
por línea o están separados por espacios.
20 | Presentación del análisis en Azure

Estos son algunos ejemplos de orígenes de datos no estructurados:


• Archivos de imagen
• Videos
• Documentos y mensajes de correo electrónico
• Archivos de registro
• Sensores y dispositivos de IoT
• Bases de datos NoSQL como MongoDB
• Redes sociales y Microsoft Graph
Los archivos de imagen y los videos se clasifican como datos no estructurados
debido a su naturaleza dinámica. Si bien sus metadatos se pueden considerar como
"estructurados" (como el título, el artista, el nombre de archivo, etc.), el contenido
en sí no está estructurado. Con herramientas modernas y tecnología de análisis de
datos, ahora puede examinar estos datos y darles sentido. El ejemplo habitual es el
reconocimiento facial en imágenes o videos.
Los correos electrónicos, documentos y archivos de registro tienen metadatos, pero
lo que de verdad le interesa es el contenido de esos archivos. Por lo general, en los
correos electrónicos, documentos y archivos de registro, los datos se separan por línea
y los mensajes no están estructurados. Querrá describir el contenido sin leerlo todo
manualmente (podríamos estar hablando de cientos o incluso millones de archivos).
Un ejemplo es hacer un análisis de opinión sobre el contenido para determinar si
la emoción predominante es la felicidad, la tristeza o el enojo. Para los archivos de
registro, probablemente quiera separar los mensajes de error, las marcas de tiempo
(fechas) y las medidas (rastros) entre los mensajes.

De manera similar a lo que ocurre con los archivos de registro, los dispositivos y
sensores de IoT se usan para capturar mediciones y errores sobre un determinado
elemento. La principal diferencia es que estos dispositivos funcionan, por lo general,
en un gran número de clústeres (de cientos a miles de dispositivos) y transmiten datos
de manera continua. Los datos generados por estos dispositivos son semiestructurados
o no estructurados, ya que están en formato JSON o XML. Las tecnologías modernas,
como los servicios de Azure IoT, ya resuelven estas complejidades con servicios
como Azure IoT Hub, que agrega todos estos datos de varios sensores y los exporta
continuamente a un origen de datos. En algunas ocasiones puede clasificar estos datos
como semiestructurados, ya que estos rastros y registros son aspectos que un sistema
puede comprender fácilmente.
Las plataformas de redes sociales y Microsoft Graph proporcionan datos
semiestructurados. Se clasifica de esta manera porque consultar todos los tweets de
Twitter sobre un tema no es suficiente. En realidad, los resultados no tienen mucho
sentido hasta que se analizan. El objetivo principal es discernir patrones y anomalías.
Por ejemplo, es posible que quiera identificar tendencias sobre noticias y temas, pero
también eliminar datos que no son relevantes, como los tweets que provienen de
cuentas falsas.
Creación de una canalización de datos | 21

Curiosamente, algunas aplicaciones de línea de negocio (LOB) proporcionan datos


estructurados y no estructurados. Por ejemplo, tanto Microsoft Dynamics CRM como
Salesforce proporcionan datos estructurados que se pueden interpretar y exportar
fácilmente a las tablas de base de datos SQL, como datos de productos, sus cantidades
y valor. Sin embargo, también admiten datos no estructurados, como imágenes, videos
y notas de texto. Tenga en cuenta que aunque las notas de texto se consideran como
el tipo de datos de cadena, todavía se pueden considerar como datos no estructurados
porque están diseñadas para ser de texto libre. No tienen un formato adecuado para
seguir, pero todavía vale la pena explorarlas. Un escenario común para los datos no
estructurados es entender por qué las ventas no tuvieron éxito.

Creación de una canalización de datos


Después de identificar sus orígenes de datos, el paso siguiente es crear una canalización
de datos (que a veces también se denomina "flujo de datos"). En términos generales, los
pasos implicados son la ingesta de datos, el almacenamiento de datos, la preparación y
el entrenamiento de datos, el modelado y servicio de datos, y la visualización de datos.
Con este enfoque, va a crear una arquitectura altamente escalable que sirva a todos los
usuarios del sistema, desde los usuarios finales, ingenieros de datos y científicos que están
haciendo la exploración de datos, y analistas que interpretan los datos para el negocio,
incluso al director general si quiere ver lo que pasa con el negocio en tiempo real:

Figura 1.5: Canalización de datos moderna


22 | Presentación del análisis en Azure

Ingesta de datos
La ingesta de datos significa transferir datos (estructurados, semiestructurados y no
estructurados) desde el origen a su almacenamiento, lago de datos o almacenamiento de datos.

Esto implicaría algo como Azure Synapse Analytics mediante la integración de datos
para transferir datos de diversos orígenes, como bases de datos locales y productos
SaaS, a un lago de datos. Este paso le permite administrar sus flujos de trabajo de ETL y
ELT sin necesidad de reconciliación manual.
Este no es un proceso único. Idealmente, es algo que se programa o establece para que
se desencadene a fin de que el lago de datos obtenga una instantánea histórica de vez
en cuando. Un ejemplo de esto es una conexión desde sus herramientas de CRM, como
Microsoft Dynamics CRM, a Azure Data Lake a través de Azure Synapse Analytics con la
integración de datos. Esto permitirá que los científicos e ingenieros de datos exploren
estos datos en diferentes intervalos de tiempo sin interrumpir la aplicación CRM real.

Almacenamiento de datos
Una vez que se han ingerido los datos a partir de varios orígenes de datos, todos
los datos se almacenarán en un lago de datos. Los datos que residen dentro del lago
seguirán en formato sin procesar e incluyen formatos de datos estructurados y no
estructurados. En este punto, los datos no aportarán mucho valor para generar
conocimientos empresariales.

Orquestación y supervisión de la canalización de datos


En un escenario de almacenamiento de datos moderno, es muy importante que los
orígenes de datos y los servicios transfieran datos de manera eficiente del origen al
destino. Azure Synapse Analytics con integración de datos es un organizador que
permite que los servicios realicen migraciones o transferencias de datos. No es el
encargado de realizar la transferencia real, sino que indica a un servicio que lo realice;
por ejemplo, puede llamar un clúster de Hadoop para realizar una consulta de Hive.
Azure Synapse Analytics con integración de datos también permite crear alertas
y métricas para notificarle cuando la orquestación del servicio está funcionando.
Puede crear una alerta por correo electrónico para cuando la transferencia de
datos no se haya realizado correctamente desde el origen hasta el destino.

Uso compartido de datos


En un patrón de almacenamiento de datos moderno, el uso compartido de datos debe
ser transparente y seguro. Muchas veces esto se puede hacer a través del protocolo de
transferencia de archivos (FTP), correos electrónicos o API, solo por nombrar algunos.
Existe una gran sobrecarga administrativa si quiere compartir datos a escala. Azure
Data Share permite administrar y compartir los macrodatos de manera segura con otras
partes y organizaciones. El proveedor de datos tendrá el control total de quién puede
acceder a los conjuntos de datos y los permisos de cada uno. Esto facilita a las empresas
dependientes obtener conocimientos y explorar escenarios de inteligencia artificial.
Creación de una canalización de datos | 23

Preparación de datos
Una vez que se ingieren los datos, el siguiente paso es la preparación de datos. Esta es
una fase en la que los datos de diferentes orígenes de datos se procesan previamente
para analizar los datos. Un ejemplo de esto es consultar datos de una API e insertarlos
en una tabla de base de datos. Azure Synapse Analytics con integración de datos le
permite organizar esta preparación de datos. Azure Synapse Analytics a través de una
instancia hospedada de Apache Spark puede ser útil para preparar los datos, ya que
puede ejecutar clústeres al mismo tiempo para procesar grandes cantidades de datos
en cuestión de segundos o minutos.

Transformación, predicción y enriquecimiento de datos


A veces, la preparación de datos requiere más cambios que van más allá de un simple
escenario de "copiar y pegar". Aquí es donde entra en juego la transformación de
datos. Hay casos en los que primero quiere aplicar una lógica personalizada en los
datos sin procesar (por ejemplo, aplicando filtros) antes de decidir transferirlos a un
almacenamiento de datos. Azure Synapse Analytics (a través de la integración de datos),
Apache Spark y SQL Analytics también pueden ayudar en este escenario. Si los datos
en un lago de datos no se transforman correctamente en información significativa,
finalmente se convertirán en un pantano de datos.
Además, puede enriquecer los datos por lotes a escala si invoca Azure Machine
Learning, que hace predicciones en tiempo real sobre los datos. Esto puede ser
una característica adicional en la canalización de datos en Azure Synapse Analytics.
Para obtener más información sobre Azure Machine Learning, consulte
el Capítulo 3, Procesamiento y visualización de los datos.

Ofrecimiento de los datos


Después de preparar y entrenar los datos, estará listo para modelarlos y ofrecerlos a los
consumidores. Básicamente, en esta fase se modelan los datos para que los sistemas los
entiendan con facilidad. Por lo general, esto implica realizar las consultas complejas que
generó a partir de la fase de preparación y entrenamiento de los datos e insertar estos
registros en una base de datos para que los datos estén estructurados en una tabla
y esquema definidos.
Todos los datos de análisis de la empresa se guardan en un almacenamiento de datos.
Es posible que tenga cientos de miles de usuarios, informes y paneles simultáneos que
se ejecutan en un único almacenamiento de datos.

Por lo general, las integraciones de servicios y el modelado de datos se hacen con una
plataforma de almacenamiento de datos como Azure Synapse Analytics. Completar las
consultas complejas puede llevar horas o días. Pero con la eficacia de la nube, puede
escalar Azure Synapse Analytics para hacer estas consultas más rápido, convirtiendo
los días en horas y las horas en minutos.
24 | Presentación del análisis en Azure

Visualización de datos
La visualización de datos es una forma eficaz de analizar el rendimiento mediante
gráficos y tablas. Esto se llama "inteligencia empresarial". Herramientas como Power
BI permiten que los analistas aprovechen al máximo los datos. Al trabajar con Azure,
no solo está limitado a Power BI, sino que también puede usar otros servicios de
visualización, como Tableau. La visualización de datos proporciona una representación
rica y significativa de sus datos que agrega valor empresarial para usted y sus clientes.
El equipo puede ver tendencias, valores atípicos y patrones que ayudan a tomar
decisiones basadas en los datos.
Las diferentes partes interesadas de la organización pueden colaborar después
de analizar los diferentes parámetros de rendimiento. ¿Su empresa vende bien los
productos? ¿En qué regiones obtiene la mayoría de las ventas? Con datos enriquecidos
que respaldan sus suposiciones, las partes interesadas del negocio, como los directores
generales, pueden tomar decisiones razonables basadas en datos para minimizar los
riesgos. ¿Qué líneas de productos debe expandir? ¿Dónde debería expandirse más?
Estas son algunas de las preguntas comunes que podrá responder una vez que tenga un
análisis de datos más enriquecido.
Los analistas pueden usar herramientas de escritorio o aplicaciones web para crear
representaciones significativas de sus datos. Este es un ejemplo de una vista de
escritorio de Power BI donde un usuario puede analizar los datos de su empresa
y visualizarlos en gráficos:

Figura 1.6: Panel de Power BI Desktop


Creación de una canalización de datos | 25

Una vez que se generan los informes, se pueden exportar a un espacio de trabajo
donde las personas pueden trabajar juntas para mejorar los informes. Este es una vista
de ejemplo del mismo informe en una aplicación móvil. Los usuarios pueden agregar
comentarios y anotaciones al informe, lo que permite un bucle de comentarios más
rápido para los analistas:

Figura 1.7: Panel de Power BI para dispositivos móviles

Power BI permite crear paneles personalizados ricos que se adapten mejor a los
requisitos y a la marca. En comparación con las presentaciones con una instantánea
de un gráfico de la semana pasada o del mes pasado, este mecanismo permite
actualizar el mismo informe una y otra vez.
26 | Presentación del análisis en Azure

Aplicaciones más inteligentes


El machine learning ha ayudado a las empresas a crear aplicaciones y productos como
bots de chat que realizan tareas específicas para los usuarios finales sin intervención
humana. Algunos ejemplos comunes son los asistentes de voz, como Cortana, que
aprenden activamente a ayudarnos a ser más productivos con nuestras tareas
cotidianas.
Otros ejemplos son los juegos en línea en los que fácilmente puedes llevar un
seguimiento del rendimiento y compararlo con el de los demás jugadores. Puede ver
cómo se clasifica en comparación con otros actores, en qué áreas sobresale y cómo
puede mejorar.
La cantidad de tareas que puede realizar con datos enriquecidos es prácticamente
ilimitada, pero, para realizarlas, debe tener el enfoque y la infraestructura adecuados
para manejar un alto nivel de escalado.

Resumen
En este capítulo establecimos la importancia del análisis de datos. También se
destacaron varios motivos por los cuales Microsoft Azure es una plataforma ideal
para lograr funcionalidades de inteligencia empresarial en la nube. Hemos hablado
sobre algunos conceptos fundamentales en torno a los macrodatos, ML y DataOps.
Además, pudo conocer algunos de los impulsores comerciales que tuvo su empresa
para adoptar el análisis de datos en la nube. Por último, obtuvo una vista general
de lo que se necesita para tener un almacenamiento de datos moderno.
En el próximo capítulo, verá cómo empezar a diseñar un almacenamiento
de datos moderno con Azure Synapse Analytics y tecnologías relacionadas.
Presentación
2
del espacio de
trabajo de Azure
Synapse Analytics
y Synapse Studio
En el capítulo anterior, se le presentó Azure y conoció los tipos de plataformas,
herramientas y recursos que ofrece Azure para facilitar la creación de soluciones
de almacenamiento de datos.
En este capítulo, nos centraremos en la nueva experiencia unificada en el espacio de
trabajo de Azure Synapse Analytics y Synapse Studio. Trataremos los siguientes temas:

• Azure Synapse Analytics y por qué lo necesitamos


• Profundización en el uso de Azure Synapse Analytics
• Introducción al espacio de trabajo de Azure Synapse Analytics y una guía
de inicio rápido paso a paso
28 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

• Introducción a Synapse Studio


• Dos formas de iniciar Synapse Studio
• Aprovisionamiento de un grupo de SQL, la ingesta de datos y el análisis de los
datos en el grupo de SQL

• Creación de un grupo de Apache Spark, la ingesta de datos y la exploración


de datos mediante Spark

• Copia de datos a/desde grupos de SQL y grupos de Spark


• Orígenes de datos vinculados
• Análisis de datos mediante grupos de SQL sin servidor
• Integración con canalizaciones

¿Qué es Azure Synapse Analytics?


Azure Synapse Analytics es un servicio de análisis ilimitado que reúne el
almacenamiento de datos empresariales y el análisis de macrodatos con una
experiencia unificada para ingerir, preparar, administrar y ofrecer datos para
satisfacer las necesidades inmediatas de inteligencia empresarial y machine
learning. En pocas palabras, Azure Synapse Analytics es la próxima evolución de
Azure SQL Data Warehouse. Microsoft ha llevado el almacenamiento de datos líder
del sector a un nuevo nivel de rendimiento y funcionalidades.
Azure Synapse Analytics le ofrece la libertad de elegir si desea utilizar recursos
dedicados o sin servidor para explorar y analizar sus datos a escala en función de sus
requisitos empresariales. Las empresas pueden poner sus datos a trabajar de una
manera mucho más rápida, productiva y segura al reunir conocimientos provenientes
de muchos orígenes de datos, almcenamientos de datos y sistemas de análisis de
macrodatos.
Con Azure Synapse Analytics, profesionales de datos de todo tipo pueden colaborar,
administrar y analizar con eficiencia sus datos más importantes, todo desde un mismo
servicio. La integración de Apache Spark con el eficaz motor SQL de confianza y la
posibilidad de integrar y administrar datos sin necesidad de programar código demuestran
que Azure Synapse Analytics está pensado para todos los profesionales de datos.

Además, habilitar BI y machine learning a través de Azure Synapse Analytics es un


broche de presión. Azure Synapse Analytics se integra profundamente con Power
BI y Azure Machine Learning para ampliar considerablemente el descubrimiento
de información a partir de todos los datos y permitir a los practicantes aplicar con
facilidad modelos de machine learning a todas las aplicaciones inteligentes sin ningún
movimiento de datos. Esto reduce significativamente el tiempo de desarrollo para
proyectos de BI y machine learning. Con Azure Synapse Analytics, puede aplicar sin
problemas la inteligencia sobre todos sus datos más importantes, desde Dynamics
365 y Office 365 hasta los servicios de software como servicio (SaaS) que admiten
la Open Data Initiative, y luego comparten datos fácilmente con solo unos clics.
¿Qué es Azure Synapse Analytics? | 29

En la siguiente sección, le explicaremos por qué necesitamos Azure Synapse Analytics


y los desafíos empresariales que resuelve.

¿Por qué necesitamos Azure Synapse Analytics?


Uno de los muchos desafíos a los que se enfrentan hoy en día las empresas es la
necesidad de administrar dos tipos de sistemas de análisis:

• El almacenamiento de datos, que proporciona conocimientos fundamentales


sobre el negocio.

• Los lagos de datos, que proporcionan información útil sobre clientes, productos,
empleados y procesos a través de distintas metodologías de análisis.

Ambos sistemas de análisis son cruciales para las empresas y funcionan de manera
independiente entre sí. Esto puede llevar a tomar decisiones no fundamentadas.
Al mismo tiempo, las empresas necesitan generar conocimientos a partir de todos
sus datos para seguir siendo competitivas e innovar sus procesos con el fin de obtener
mejores resultados.
Los clientes que quieren crear su propia canalización de datos integral deberán seguir
los pasos que se describen a continuación:

1. Ingerir datos procedentes de distintos orígenes de datos.


2. Cargar todos estos orígenes de datos en un lago de datos para su posterior
procesamiento.

3. Realizar limpieza de los datos de distintas estructuras y de distintos tipos.


4. Preparar, transformar y modelar los datos.
5. Ofrecer los datos limpios a miles de usuarios a través de herramientas
y aplicaciones de BI.

Hasta ahora, cada uno de estos pasos requería una herramienta distinta y, dada la
amplia oferta de herramientas, servicios y aplicaciones disponibles, elegir la solución
correcta puede ser una tarea abrumadora.

Son varios los servicios capaces de ingerir, cargar, preparar y ofrecer datos. También
hay varios servicios que usar para la limpieza de datos, basados en el lenguaje de
preferencia del desarrollador. Algunos desarrolladores prefieren Spark y otros
pueden querer usar SQL, mientras que otros prefieren usar entornos sin código
para transformar los datos.
Incluso una vez que se elige la colección de herramientas correcta, hay que considerar
la pronunciada curva de aprendizaje hasta familiarizarse con ellas, además de las
dificultades logísticas que implica mantener una canalización de datos en distintas
plataformas y lenguajes. Con todos estos problemas, implementar y mantener una
plataforma de análisis en la nube puede resultar difícil.
30 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

Desafíos de los clientes


Es posible que piense que el mayor desafío que plantea un almacenamiento de datos
eficiente es aprender a crear la canalización para incorporar los datos u optimizarla
para obtener un mejor rendimiento. Sin embargo, una encuesta de clientes que realizó
Microsoft reveló que el mayor desafío para los clientes era administrar distintas
funcionalidades, supervisar cientos de canalizaciones que abarcan varios motores
de proceso, proteger distintos recursos (proceso, almacenamiento, artefactos)
e implementar código sin cambios importantes. Entre los silos organizativos, los
silos de datos y los silos de herramientas, es prácticamente imposible implementar
y mantener una plataforma de análisis en la nube.

Por ejemplo, imagine que su empresa necesita idear un modelo de seguridad único
para proteger todos sus servicios y cumplir con las pautas internas de cumplimiento
más recientes. Esto podría parecer una tarea sencilla al principio, pero lo cierto es
que es bastante compleja. Es necesario identificar rápidamente cuál es ese "modelo de
seguridad único" y, luego, averiguar cuál es el modelo de implementación de todos sus
servicios. Debe decidir cómo implementar la alta disponibilidad y la recuperación ante
desastres para cada uno de estos servicios. Y, por último, debe tener en cuenta todas
las responsabilidades que implica la administración del ciclo de vida, lo que incluye
supervisar estos servicios para garantizar que funcionan correctamente. Reunir todos
estos servicios no es tarea fácil y en el pasado ha requerido una planificación compleja.

Azure Synapse Analytics al rescate


Azure Synapse Analytics resuelve los problemas mencionados anteriormente.
Como se muestra en la Figura 2.1, Azure Synapse Analytics permite a los clientes crear
soluciones de análisis integrales y realizar la ingesta de datos, la exploración de datos,
el almacenamiento de datos, el análisis de macrodatos y las tareas de machine learning
desde un único entorno unificado:

Figura 2.1: Azure Synapse Analytics


Azure Synapse Analytics al rescate | 31

Algunas de las características principales que ofrece Azure Synapse Analytics


se enumeran en la Tabla 2.1:

Tabla 2.1: Características y beneficios de Azure Synapse Analytics

Azure Synapse Analytics permite extraer y entregar conocimientos a partir de todos


los datos que residen en el almacenamiento de datos y en sistemas de análisis de
macrodatos a una velocidad sorprendente. Permite que los profesionales de datos usen
el conocido lenguaje SQL para consultar bases de datos relacionales y no relacionales
a escala de petabytes. Características avanzadas como la administración inteligente
de cargas de trabajo, el aislamiento de cargas de trabajo y la simultaneidad ilimitada
permiten optimizar el rendimiento de todas las consultas en cargas de trabajo decisivas.
Azure Synapse Analytics aprovecha lo mejor de Azure SQL Data Warehouse y lo
moderniza gracias a la incorporación de más funcionalidades para los desarrolladores
SQL, la adición de consultas con el grupo de SQL sin servidor, la adición de soporte
de machine learning, la integración de Apache Spark de manera nativa, la provisión de
cuadernos colaborativos y la oferta de integración de datos dentro de un único servicio.
También admite distintos lenguajes (como C#, SQL, Scala y Python) en distintos motores.
32 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

Con Azure Synapse Analytics, los clientes pueden desarrollar con facilidad proyectos
de inteligencia empresarial y machine learning. Azure Synapse Analytics está
profundamente integrado con Power BI y Azure Machine Learning para ampliar
considerablemente el descubrimiento de información a partir de todos los datos
y aplicar modelos de machine learning a todas sus aplicaciones inteligentes. El usuario
puede reducir considerablemente el tiempo de desarrollo de los proyectos de BI y de
machine learning con un servicio de análisis ilimitado que permite aplicar inteligencia
de manera fluida sobre los datos más importantes (desde Dynamics 365 y Office 365
hasta implementaciones de SaaS compatibles con Open Data Initiative) y compartir
datos fácilmente con solo unos clics.
Todo esto se proporciona en una experiencia única que incluye editores de consultas
y cuadernos para compartir y usar datos de manera colaborativa, así como recursos
y código para desarrolladores de SQL y Spark.
Básicamente, Azure Synapse Analytics se encarga de todo.

Profundización en el uso de Azure Synapse Analytics


Ahora que comprende por qué se inventó Azure Synapse Analytics, podemos
profundizar en los servicios que ofrece Azure Synapse Analytics.
Azure Synapse Analytics es un servicio de análisis de datos integrado y totalmente
administrado que combina almacenamiento de datos, integración de datos
y procesamiento de macrodatos, con aceleración del tiempo de obtención de
conocimientos, en un único servicio.
La ventaja de contar con un servicio único de datos integrado es que, en el caso
de las empresas, acelera la entrega de BI, IA, machine learning, Internet de las Cosas
y aplicaciones inteligentes.
En la Figura 2.2 se ilustra cómo se puede construir una canalización de datos moderna
mediante Azure Synapse Analytics. En este ejemplo, el proceso de ingesta empieza
desde un origen de Blob Storage hasta un destino de Azure Data Lake Storage Gen2 en
el espacio de trabajo de Azure Synapse Analytics. Con un grupo de Spark, puede leer
desde varios orígenes de datos a través de Azure Data Lake Storage Gen2 y Azure SQL
Database y hacer cualquier transformación y limpieza de datos necesarias. Por último,
los resultados seleccionados se escriben en el grupo de SQL, que luego se puede usar
para ofrecer a las aplicaciones y herramientas de BI:
Presentación del espacio de trabajo de Azure Synapse Analytics | 33

Figura 2.2: Canalización de datos moderna con Azure Synapse Analytics

Para apreciar plenamente los beneficios de Azure Synapse Analytics, lo llevaremos a un


recorrido por el espacio de trabajo de Azure Synapse Analytics y le presentaremos los
servicios básicos que se encuentran dentro de Synapse Studio.

Presentación del espacio de trabajo de Azure Synapse


Analytics
En el centro de Azure Synapse Analytics está el espacio de trabajo. El espacio de trabajo
es el recurso de mayor nivel e incluye la solución de análisis en el almacenamiento de
datos. El espacio de trabajo de Azure Synapse Analytics se puede utilizar en un entorno
colaborativo y es compatible con el procesamiento de macrodatos y relacionales. En
esencia, el espacio de trabajo de Azure Synapse Analytics es el combustible que inicia
toda su experiencia con Azure Synapse Analytics.
En la siguiente sección, le hemos proporcionado una guía de inicio rápido sobre cómo
aprovisionar su primer espacio de trabajo de Azure Synapse Analytics. Siéntase libre
de seguir adelante.

Cuenta de Azure gratis


Si quiere probar alguna de las técnicas que se muestran en este libro, simplemente cree
su cuenta de Azure y comience.
34 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

Guía de inicio rápido


1. En un explorador web, inicie sesión en Azure Portal.
2. En el cuadro de búsqueda, escriba synapse. A continuación, en los resultados
de la búsqueda, en Services (Servicios), seleccione Azure Synapse Analytics.

Figura 2.3: Navegar a Azure Synapse Analytics a través de Azure Portal

Haga clic en Add (Agregar) para crear un nuevo espacio de trabajo de Azure
Synapse Analytics como se muestra en la Figure 2.4:

Figura 2.4: Crear un nuevo espacio de trabajo de Azure Synapse Analytics


Presentación del espacio de trabajo de Azure Synapse Analytics | 35

3. En la pestaña Basics (Opciones básicas), cree un nuevo grupo de recursos


y proporcione un nombre único para el espacio de trabajo, como se muestra
en la Figura 2.5. En nuestro ejemplo, nombraremos nuestro grupo de recursos
my-synapse-rg y nuestro espacio de trabajo mysynws001. También hemos elegido
East US (Este de EE. UU.) como nuestra región:

Nota
Si ve un mensaje que indica que The Synapse resource provider needs to
be registered to this subscription (El proveedor de recursos de Synapse
debe estar registrado en esta suscripción), en Subscription (Suscripción) en
la página Create Synapse Workspace (Crear espacio de trabajo de Synapse),
simplemente haga clic en el vínculo para registrarse como se le indicó:

Figura 2.5: Crear un espacio de trabajo de Synapse


36 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

4. A continuación, necesita una cuenta de Azure Data Lake Storage Gen2


(mydatalakestorageg2) para crear un espacio de trabajo de Azure Synapse Analytics.
En esta guía de inicio rápido, crearemos una nueva cuenta de mydatalakestorageg2
como se muestra en la Figura 2.6:

Figura 2.6: Crear una nueva cuenta de Azure Data Lake Storage Gen2

5. Para File system name (Nombre del sistema de archivos), haga clic en Create new
(Crear nuevo) y asígnele un nombre, como se muestra en la Figura 2.7. En nuestro
ejemplo, vamos a nombrarlo users (usuarios):

Figura 2.7: Proporcionar un nombre de sistema de archivos


Presentación del espacio de trabajo de Azure Synapse Analytics | 37

6. El formulario completado debe parecerse a la Figura 2.8. Asegúrese de marcar


la casilla de verificación Assign myself the Storage Blob Contributor role on
the Data Lake Storage Gen2 account (Asignarme el rol Colaborador de Storage
Blob en la cuenta de Data Lake StorageGen2). Haga clic en Next: Security >
(Siguiente: seguridad >) para continuar:

Figura 2.8: Crear un espacio de trabajo de Synapse: pestaña Basics (Opciones básicas)
38 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

7. En la pestaña Security (Seguridad), opcionalmente puede proporcionar credenciales


que se pueden usar para el acceso de administrador a los grupos de SQL del espacio
de trabajo. Si no proporciona una contraseña, se generará automáticamente una.
Puede cambiar la contraseña más adelante. Por ahora, aceptemos el valor
predeterminado y haga clic en Next: Networking > (Siguiente: redes >):

Figura 2.9: Crear un espacio de trabajo de Synapse: pestaña Security (Seguridad)


Presentación del espacio de trabajo de Azure Synapse Analytics | 39

8. En la pestaña Networking (Redes), acepte el valor predeterminado y haga clic


en Review + create (Revisar + crear):

Figura 2.10: Crear un espacio de trabajo de Synapse: pestaña Networking (Redes)


40 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

9. En la pestaña Summary (Resumen), realice una revisión final de sus configuraciones


y luego haga clic en Create (Crear):

Figura 2.11: La pestaña Summary (Resumen)


Presentación de Synapse Studio | 41

En cuestión de minutos, su nuevo espacio de trabajo de Azure Synapse Analytics


estará listo.

En esta sección, le hemos mostrado cómo puede comenzar a usar Azure Synapse
Analytics mediante la creación de su espacio de trabajo de Azure Synapse Analytics.
A continuación, continuaremos nuestro recorrido visitando Synapse Studio.

Presentación de Synapse Studio


Synapse Studio cuenta con una interfaz web intuitiva que proporciona un espacio
de trabajo y una experiencia de desarrollo integradas. Esto permite a los ingenieros
de datos crear soluciones de análisis integrales (ingerir, explorar, preparar, orquestar,
visualizar) mediante la realización de todo lo que necesitan dentro de un solo entorno.
Además, los ingenieros de datos pueden escribir y depurar código en SQL o Spark.
Synapse Studio también se integra con los procesos empresariales de CI/CD. Synapse
Studio es un entorno ideal para que los ingenieros de datos y científicos de datos
compartan y colaboren en sus soluciones de análisis.
Para continuar nuestro recorrido, usaremos el espacio de trabajo de Azure Synapse
Analytics que creamos en la sección anterior para iniciar Synapse Studio.

Cómo iniciar Synapse Studio


Con el espacio de trabajo de Azure Synapse Analytics que creó en la sección anterior,
ahora estamos listos para hacer un uso completo de este en Synapse Studio. Iniciar
Synapse Studio se puede hacer de dos maneras:
Método 1: Iniciar Synapse Studio a través del Azure Portal
1. En Azure Portal, vaya al grupo de recursos que contiene el espacio de trabajo
de Azure Synapse Analytics. En nuestro ejemplo, nuestro grupo de recursos
es my-synapse-rg y nuestro espacio de trabajo de Azure Synapse Analytics
es mysynws001.
2. Haga clic en el espacio de trabajo de Azure Synapse Analytics como se muestra:

Figura 2.12: El grupo de recursos my-synapse-rg


42 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

3. En el espacio de trabajo de Azure Synapse Analytics, haga clic en Open (Abrir) para
iniciar Synapse Studio:

Figura 2.13: Iniciar Azure Synapse

En este punto, se iniciará Synapse Studio (consulte la Figura 2.13).


Método 2: Iniciar Synapse Studio a través de su URL
También puede iniciar Synapse Studio a través https://web.azuresynapse.net/, luego
iniciar sesión en su espacio de trabajo de Azure Synapse Analytics, como se muestra
en la Figura 2.14:

Figura 2.14: Seleccionar su espacio de trabajo de Azure Synapse Analytics para continuar

La página de inicio de Synapse Studio se muestra en la Figura 2.15:

Figura 2.15: Página de inicio de Synapse Studio


Presentación de Synapse Studio | 43

En las siguientes secciones, le mostraremos lo fácil que es aprovisionar un grupo


de SQL dedicado, ingerir datos y empezar a explorar los datos en el grupo de SQL.

Aprovisionamiento de un grupo de SQL dedicado


En esta sección, le mostraremos cómo puede aprovisionar un grupo de SQL dedicado
en nuestro espacio de trabajo de Azure Synapse Analytics recién creado a través
de Synapse Studio:
1. En Synapse Studio, seleccione el centro Manage (Administrar) en el panel de la
izquierda, luego los grupos de SQL y, a continuación, haga clic en + New (+ Nuevo):

Figura 2.16: Crear un nuevo grupo de SQL


44 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

2. Escriba los detalles del grupo de SQL como se muestra. Luego, haga clic en
Review + create (Revisar y crear):

Figura 2.17: Crear un grupo de SQL dedicado: pestaña Basics (Opciones básicas)

3. En la pestaña Review + create (Revisar + crear), haga clic en Create (Crear).


En cuestión de minutos, su nuevo grupo de SQL dedicado estará listo para su uso.
En nuestro ejemplo, nuestro grupo de SQL dedicado está asociado con una base
de datos de grupo de SQL que también se denomina sqlpool001.

Consejo
Un grupo de SQL, siempre y cuando permanezca activo, consumirá recursos
facturables. Para minimizar los costos, puede pausar el grupo cuando
no lo esté usando.

A continuación, vamos a adquirir los datos de NYC Taxi en nuestro


grupo de SQL dedicado y exploraremos sus capacidades.
Presentación de Synapse Studio | 45

4. En Synapse Studio, seleccione el centro Develop (Desarrollar) en el panel


de la izquierda, luego + y SQL script (Script de SQL):

Figura 2.18: Desarrollar un nuevo script de SQL

5. Conéctese a sqlpool001 como se muestra:

Figura 2.19: Conectarse a sqlpool001


46 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

6. En el panel SQL script, escriba el script de SQL completo (como se muestra


en la Figura 2.20) y haga clic en Run (Ejecutar):

Figura 2.20: Ejecutar el script de SQL

El siguiente script de SQL crea una tabla llamada dbo.TaxiTrip en nuestro grupo de SQL
dedicado e ingiere más de 2,8 millones de filas de los datos de NYC Taxi en la tabla dbo.
TaxiTrip:
CREATE TABLE [dbo].[TaxiTrip]
(
   [DateID] int NOT NULL,
   [MedallionID] int NOT NULL,
   [HackneyLicenseID] int NOT NULL,
   [PickupTimeID] int NOT NULL,
   [DropoffTimeID] int NOT NULL,
   [PickupGeographyID] int NULL,
   [DropoffGeographyID] int NULL,
[PickupLatitude] float NULL,
[PickupLongitude] float NULL,
   [PickupLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DropoffLatitude] float NULL,
[DropoffLongitude] float NULL,
   [DropoffLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Presentación de Synapse Studio | 47

   [PassengerCount] int NULL,


   [TripDurationSeconds] int NULL,
[TripDistanceMiles] float NULL,
   [PaymentType] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
   [FareAmount] money NULL,
   [SurchargeAmount] money NULL,
   [TaxAmount] money NULL,
   [TipAmount] money NULL,
   [TollsAmount] money NULL,
   [TotalAmount] money NULL
)
WITH
(
   DISTRIBUTION = ROUND_ROBIN,
   CLUSTERED COLUMNSTORE INDEX
);

COPY INTO [dbo].[TaxiTrip]


FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013/
QID6392_20171107_05910_0.txt.gz'
WITH
(
   FILE_TYPE = 'CSV',
   FIELDTERMINATOR = '|',
   FIELDQUOTE = '',
   ROWTERMINATOR='0X0A',
   COMPRESSION = 'GZIP'
)
OPTION (LABEL = 'COPY: Load taxi dataset');
En este script de SQL, usamos la instrucción COPY (Copiar) para cargar datos de forma
masiva desde una ubicación de origen de Azure Blob Storage en nuestro grupo de SQL
dedicado.
Ahora que hemos ingerido nuestros datos en nuestro grupo de SQL dedicado,
exploremos los datos.
48 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

Exploración de datos en el grupo de SQL dedicado


Siga los pasos a continuación para explorar los datos en el grupo de SQL dedicado:
1. En Synapse Studio, seleccione el centro Data (Datos) en el panel de la izquierda.
2. Seleccione sqlpool001 (SQL) y, a continuación, expanda Tables (Tablas).
3. Haga clic con el botón secundario en la tabla dbo.TaxiTrip.
4. Seleccione New SQL script (Nuevo script de SQL) | Select TOP 100 rows
(Seleccionar las 100 filas principales):

Figura 2.21: Generar un nuevo script de SQL

5. Verá el resultado que se muestra en la Figura 2.22:

Figura 2.22: Resultado de la consulta


Presentación de Synapse Studio | 49

6. Intente reemplazar la consulta con lo siguiente y ejecútela. Esta consulta muestra


cómo el número de pasajeros se relaciona con la distancia total de viaje y la
distancia de viaje promedio:
SELECT PassengerCount,
   SUM(TripDistanceMiles) as TotalTripDistance,
   AVG(TripDistanceMiles) as AverageTripDistance
FROM dbo.TaxiTrip
WHERE PassengerCount > 0 AND TripDistanceMiles > 0
GROUP BY PassengerCount
ORDER BY PassengerCount

Figura 2.23: Resultado de la consulta


50 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

7. Puede cambiar rápidamente la vista a Chart (Gráfico) para ver una visualización
de los resultados como un gráfico de líneas:

Figura 2.24: Visualización de gráficos de líneas

Ahora que le hemos mostrado lo fácil que es aprovisionar un grupo de SQL dedicado,
ingerir datos y explorar los datos, dirigiremos nuestra atención a otra funcionalidad
clave de Azure Synapse Analytics: el grupo de Apache Spark.
En las siguientes secciones, le mostraremos cómo crear un grupo de Apache Spark
en Azure Synapse Analytics, cargar los datos de NYC Taxi en la base de datos
de Spark y analizar los datos de NYC Taxi utilizando Spark y cuadernos.

Creación de un grupo de Apache Spark


A continuación, crearemos un grupo de Apache Spark sin servidor:
1. En Synapse Studio, seleccione el centro Manage (Administrar) en el panel
de la izquierda, luego haga clic en Apache Spark pools (Grupos de Apache Spark)
en Analytics pools (Grupos de análisis) y haga clic en + New (+Nuevo):
Presentación de Synapse Studio | 51

Figura 2.25: Crear un nuevo grupo de Apache Spark

2. Escriba los detalles de Apache Spark Pool (Grupo de Apache Spark)


como se muestra. Luego, haga clic en Review + create (Revisar y crear):

Figura 2.26: Crear grupo de Apache Spark: pestaña Basics (Opciones básicas)

3. En la pestaña Review + create (Revisar + crear), haga clic en Create (Crear).


52 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

En cuestión de minutos, su nuevo grupo de Apache Spark estará listo. A continuación,


analizaremos los orígenes de datos vinculados.
Orígenes de datos vinculados
1. En Synapse Studio, seleccione el centro Data (Datos) en el panel de la izquierda,
luego haga clic en + y Explore gallery (Examinar galería):

Figura 2,27: La opción "Browse gallery" (Examinar galería)

2. Seleccione NYC Taxi & Limousine Commission – yellow taxi trip records
(NYC Taxi & Limousine Commission: registros de viajes de taxis) y haga
clic en Continue (Continuar):

Figura 2.28: Seleccionar un conjunto de datos de la galería


Presentación de Synapse Studio | 53

3. Haga clic en Add dataset (Agregar conjunto de datos).

Figura 2.29: Agregar un conjunto de datos

4. En el centro Data (Datos), en Linked (Vinculado), haga clic con el botón secundario
en nyc_tlc_yellow y seleccione New notebook (Nuevo cuaderno), luego Load to
DataFrame (Cargar en DataFrame):

Figura 2.30: Crear un nuevo cuaderno


54 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

5. Se crea un nuevo cuaderno con el siguiente código generado automáticamente.


Haga clic en Run all (Ejecutar todo):

Figura 2.31: Ejecutar el cuaderno

Siéntase libre de experimentar al vincular otros conjuntos de datos y modificar


el código para extraer resultados diferentes. En la siguiente sección, aprenderá
cómo ingerir datos del grupo de SQL en una base de datos de Spark.
Ingerir datos de un grupo de SQL en una base de datos de Spark
Anteriormente en este capítulo, cargamos los datos de NYC Taxi en nuestro grupo
de SQL llamado sqlpool001. Vamos a usarlo para demostrar cómo podemos ingerir
datos de nuestro grupo de SQL en nuestra base de datos de Spark llamada sparknyc:
1. En Synapse Studio, seleccione el centro Develop (Desarrollar) en el panel
de la izquierda, luego + y Notebook (Cuaderno):

Figura 2.32: Crear un nuevo cuaderno


Presentación de Synapse Studio | 55

2. Haga clic en Add code (Agregar código):

Figura 2.33: Agregar código en la celda del cuaderno

3. Escriba el siguiente código en la nueva celda de código del cuaderno. Luego,


haga clic en el botón Run (Ejecutar):
%%spark
spark.sql("CREATE DATABASE IF NOT EXISTS sparknyc")
val df = spark.read.sqlanalytics("sqlpool001.dbo.TaxiTrip")
df.write.mode("overwrite").saveAsTable("sparknyc.taxitrip")

Figura 2.34: Ejecutar código de Spark (Scala) para ingerir datos de grupo de SQL en una base
de datos de Spark

Nota
El lenguaje predeterminado para el cuaderno es PySpark (Python). Al usar la magia
%%spark en la línea 1 del código, podemos cambiar rápidamente este lenguaje de
celda a Spark (Scala).
56 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

4. Si va al centro Data (Datos) y actualiza las bases de datos, verá nuestra base
de datos recién creada sparknyc (Spark):

Figura 2.35: La base de datos de Spark recién creada

Ahora que hemos ingerido con éxito los datos del grupo de SQL en nuestra tabla
de Spark, examinaremos cómo analizar los datos mediante Spark y cuaderno
en la siguiente sección.
Analizar datos mediante Spark y cuaderno
Ahora que hemos ingerido datos en nuestra nueva base de datos de Spark sparknyc,
usemos Spark y cuaderno para realizar algunos análisis de datos:
1. En Synapse Studio, seleccione el centro Develop (Desarrollar) en el panel
de la izquierda, luego + y Notebook (Cuaderno):
2. Ahora vamos a ejecutar el mismo análisis en Spark como lo hicimos en nuestro
ejemplo anterior del grupo de SQL. Guardaremos los resultados en una nueva tabla
de Spark passengerstats. Escriba el siguiente código en la nueva celda de código
del cuaderno. A continuación, haga clic en el botón Run (Ejecutar) para ejecutar
el código en el lenguaje del cuaderno predeterminado PySpark (Python):
df = spark.sql("""SELECT PassengerCount,
        SUM(TripDistanceMiles) as TotalTripDistance,
        AVG(TripDistanceMiles) as AverageTripDistance
   FROM sparknyc.taxitrip
   WHERE PassengerCount > 0 AND TripDistanceMiles > 0
   GROUP BY PassengerCount
   ORDER BY PassengerCount""")

display(df)
df.write.saveAsTable("sparknyc.passengerstats")
Presentación de Synapse Studio | 57

Figura 2.36: Resultados del código

3. Como en nuestro ejemplo de grupo de SQL, podemos cambiar rápidamente nuestra


vista a Chart (Gráfico) para visualizar los resultados:

Figura 2.37: Visualización de gráficos de líneas

Anteriormente, le mostramos cómo ingerir datos de un grupo de SQL a una tabla


de Spark. Ahora, para completar el círculo, le mostraremos cómo puede volver
a ingerir datos de una tabla de Spark en un grupo de SQL.
58 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

Ingerir datos de la tabla de Spark en una tabla de grupo de SQL


Para completar nuestro recorrido por los grupos de SQL y Spark, ahora demostraremos
cómo cargar los datos de la tabla de Spark passengerstats de vuelta en una tabla
de grupo de SQL llamada sqlpool001.dbo.PassengerStats:
1. En Synapse Studio, seleccione el centro Develop (Desarrollar) en el panel
de la izquierda, luego haga clic en + y Notebook (Cuaderno):
2. Agregue el siguiente código en una nueva celda de código del cuaderno:
%%spark
val df = spark.sql("SELECT * FROM sparknyc.passengerstats")
df.write.sqlanalytics("sqlpool001.dbo.PassengerStats",Constants.INTERNAL)

Figura 2.38: Agregar un código en una celda de código del cuaderno

Nota
El lenguaje predeterminado para el cuaderno es PySpark (Python). Al usar la
magia %%spark en la línea 1 del código, podemos cambiar rápidamente este
lenguaje de celda a Spark (Scala).
Presentación de Synapse Studio | 59

3. Y justo así, se crea la nueva tabla dbo.PassengerStats en el grupo de SQL junto con
todos los datos de la tabla Spark:

Figura 2.39: Nueva tabla creada en el grupo de SQL

Ahora que hemos ingerido con éxito los datos de nuestra tabla de Spark en una tabla
de grupos de SQL, examinaremos cómo analizar los datos mediante agrupaciones
de SQL sin servidor.
Analizar datos mediante grupos de SQL sin servidor
Otra potente funcionalidad de Azure Synapse Analytics es la capacidad de analizar
datos con grupos de SQL sin servidor. Los grupos de SQL sin servidor le permiten
ejecutar consultas SQL con recursos de aprovisionamiento. Esto permite facilitar
la exploración y el análisis de datos en Azure Data Lake Storage Gen2 sin ninguna
configuración ni mantenimiento de infraestructura.
60 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

Ahora demostraremos cómo usar grupos de SQL sin servidor para analizar los datos
en Azure Blob Storage:
1. En Synapse Studio, seleccione el centro Data (Datos) en el panel de la izquierda.
2. En Linked (Vinculado), haga clic con el botón secundario en nyc_tlc_yellow |
New SQL script (Nuevo script de SQL) | Select TOP 100 rows (Seleccionar las
100 filas principales):

Figura 2.40: Usar SQL sin servidor para analizar datos en Azure Blob Storage

3. Haga clic en Run (Ejecutar) para ver los resultados.

A partir de esta demostración, puede ver que los grupos de SQL sin servidor le
permiten ejecutar consultas al instante y no tener que aprovisionar ningún recurso.
A continuación, analizaremos cómo compilar canalizaciones de datos y realizar
transformaciones de datos sin código.

Integración con canalizaciones


El centro Integrate (Integrar) le permite compilar canalizaciones de datos y realizar
transformaciones de datos sin código. Una actividad define las acciones que se realizan
en los datos, como la copia de datos, la ejecución de un cuaderno o la ejecución de un
script de SQL. Una canalización es una agrupación lógica de actividades que realizan
una tarea en conjunto. En esta sección, demostraremos cómo integrar canalizaciones
y actividades mediante Synapse Studio:
Presentación de Synapse Studio | 61

1. En Synapse Studio, seleccione el centro Integrate (Integrar) en el panel


de la izquierda.
2. Haga clic en + y Pipeline (Canalización) para crear una nueva canalización:

Figura 2.41: Crear una nueva canalización

3. Vaya al centro Develop (Desarrollar) y arrastre un cuaderno existente


a la canalización:

Figura 2.42: Arrastrar un cuaderno existente a la canalización


62 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

4. Haga clic en Add trigger (Agregar desencadenador) y New/Edit (Nuevo/Editar):

Figura 2.43: Agregar un desencadenador

5. En Choose trigger... (Elegir desencadenador...), seleccione New (Nuevo):

Figura 2.44: Elegir un desencadenador


Presentación de Synapse Studio | 63

6. Configure el desencadenador como se muestra, luego haga clic en OK (Aceptar):

Figura 2.45: Configurar el desencadenador


64 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio

7. Confirme los cambios y active el desencadenador haciendo clic en Publish All


(Publicar todo).
8. Para ejecutar la canalización de inmediato, simplemente vaya a Add trigger
(Agregar desencadenador) y Trigger Now (Desencadenar ahora):

Figura 2.46: Elegir la opción "Trigger now" (Desencadenar ahora)

Como puede ver, puede crear una canalización en Azure Synapse Analytics muy
fácilmente y realizar potentes transformaciones de datos sin tener que escribir
una sola línea de código.

El centro Monitor (Supervisar)


La última característica que analizaremos es el centro Monitor (Supervisar). Aquí
es donde podemos supervisar los trabajos que se están ejecutando actualmente.
La mejor manera de entender cómo funciona es verlo en acción:
1. Ejecute la canalización que creamos en la sección anterior mediante Trigger now
(Desencadenar ahora).
2. En Synapse Studio, seleccione el centro Monitor (Supervisar) en el panel de
la izquierda, luego haga clic en Pipeline runs (Ejecuciones de canalización):

Figura 2.47: Centro Monitor (Supervisar)

En la sección Pipeline runs (Ejecuciones de canalización), puede supervisar el progreso


de la ejecución de la canalización. Además, si se produce un error con la ejecución de
la canalización, puede usar el centro Monitor (Supervisar) para solucionar el problema.
Resumen | 65

Además de la supervisión de canalización, también puede supervisar los


desencadenadores, los tiempos de ejecución de la integración, las aplicaciones
de Apache Spark, las solicitudes de SQL y la depuración de flujos de datos.
Esperamos que haya disfrutado nuestro recorrido introductorio del espacio de
trabajo de Azure Synapse Analytics y Synapse Studio. Antes de concluir este capítulo,
nos gustaría destacar algunas de las características avanzadas de Azure Synapse
Analytics que puede explorar por su cuenta:
• Optimización mediante vistas materializadas y almacenamiento en caché
de ResultSet
• Importancia y aislamiento de la carga de trabajo
• Seguridad de nivel de fila
• Enmascaramiento dinámico de datos
• Integración con AutoML
• Predicción de SQL
• Integración de CI/CD

Resumen
Azure Synapse Analytics es una innovadora evolución de Azure SQL Data Warehouse.
Aprovecha lo mejor de Azure SQL Data Warehouse y lo moderniza gracias a la
incorporación de más funcionalidades para los desarrolladores SQL, porque agrega
consultas con grupos de SQL sin servidor, compatibilidad para el machine learning,
integra Spark de manera nativa, cuadernos colaborativos e integración de datos,
todo dentro de un único servicio.
Como ha aprendido en este capítulo, los ingenieros de datos pueden aprovisionar
un espacio de trabajo de Azure Synapse Analytics en cuestión de minutos y crear
sus soluciones de análisis de extremo a extremo mediante un enfoque unificado,
simplificado y optimizado dentro de Synapse Studio. Este extraordinario e innovador
entorno todo en uno es un sueño hecho realidad para muchos profesionales de datos.
En el siguiente capítulo, analizaremos Power BI y Azure Machine Learning. Más
adelante, verá casos prácticos reales de cómo todas estas tecnologías están integradas
para proporcionar las soluciones completas e integrales de almacenamiento de datos
que los responsables de la toma de decisiones empresariales pueden usar para obtener
información significativa a partir de datos en tiempo real.
Procesamiento
3
y visualización de
los datos
En los capítulos anteriores, se le presentó Azure Synapse Analytics y Synapse Studio.
Azure Synapse Analytics ofrece una gran cantidad de características que son flexibles
y altamente escalables. Algunas de las características de extensibilidad de Azure
Synapse Analytics son la capacidad de usar el enfoque del almacenamiento de datos
moderno para ofrecer informes significativos y un origen de datos para machine
learning.
Hay muchas formas de procesar y visualizar datos con Azure y el conjunto más amplio
de herramientas que ofrece Microsoft. Este libro se centrará en el uso de Power BI
como una herramienta para crear informes y paneles. Power BI ofrece una amplia gama
de productos y servicios. En este capítulo, analizaremos el uso de Power BI Desktop en
Windows para crear paneles significativos, así como el uso de áreas de trabajo de Power
BI para hospedar y compartir informes publicados.
Este libro también le dará una introducción al ecosistema de inteligencia artificial
y machine learning dentro de Azure y Microsoft. Abordaremos una plataforma de
machine learning específica en secciones posteriores con Azure Machine Learning.

Estas tecnologías funcionan sin problemas con Azure Synapse Analytics como un enfoque
predeterminado para visualizar y obtener información de un almacenamiento de datos
unificado.
68 | Procesamiento y visualización de los datos

Power BI
Power BI es un conjunto de herramientas que permite que los usuarios visualicen datos
y compartan conocimientos entre equipos y organizaciones o que integren análisis
del panel en sus sitios web o aplicaciones. Admite diferentes orígenes de datos (tipos
de datos estructurados y no estructurados) y ayuda a los analistas y usuarios finales
a crear paneles e informes en vivo sobre los datos empresariales a petición. Un ejemplo
de esto es visualizar las ventas de la empresa correspondientes a los meses recientes
y determinar la ciudad que vendió más artículos.
Lo que distingue a Power BI de un software de hoja de cálculo como Microsoft Excel
es que está diseñado para ser una interfaz de usuario hospedada (a menudo, un panel
en tiempo real) en la que no es necesario que los usuarios almacenen con frecuencia
un archivo en su máquina local y lo abran. Con Power BI, puede usar el poder de la
nube para aprovechar datos complejos y presentarlos a través de gráficos o diagramas
enriquecidos, lo que permite que sea el servidor, y no su propia máquina, el que
ejecute todos los cálculos. Suponga un escenario en el que el tamaño de los datos iba
a crecer de 500 megabytes a varios gigabytes. La mayoría de las máquinas de propósito
general, como los equipos personales con una cantidad limitada de memoria, tendrían
problemas para cargar un archivo de Excel de este tipo; sin embargo, con Power BI,
es simplemente como abrir una página web, ya que es un servicio hospedado:

Figura 3.1: Arquitectura de Power BI

Como se ve en la Figura 3.1, Power BI consta de distintos componentes que pueden


llevar a cabo diferentes funciones:
• Power BI Desktop: esta es una aplicación de escritorio de Windows que
a menudo se denomina herramienta de creación, en la que principalmente
se diseñan y publican informes en el servicio.
• Servicio Power BI: esta es la plataforma administrada para implementar sus
informes en Internet para que su organización tenga acceso. Se trata de una
aplicación de software como servicio (SaaS) y ha evolucionado de Power BI
para Office 365 a simplemente Power BI.
Power BI | 69

• Aplicaciones móviles de Power BI: son aplicaciones móviles nativas que pueden
obtener acceso a informes desde un área de trabajo hospedada en Power BI.
Están disponibles en la App Store de Apple iOS y en Google Play Store.

• Power BI Gateways: un gateway es un mecanismo para sincronizar datos


externos en Power BI. En entornos empresariales con almacenamiento local,
Power BI Gateway actúa como un mecanismo para hacer consultas en el origen
de datos sin necesidad de transferir bases de datos a la nube. Sin embargo, los
datos hospedados en informes de Power BI residen en la nube de Azure.
• Power BI Report Server: en un entorno local, Power BI Report Server permite
hospedar informes de Power BI en su propio centro de datos. Estos informes
todavía se pueden compartir entre distintos miembros, siempre y cuando estos
tengan el acceso de red adecuado.
• Power BI Embedded: Embedded permite usar Power BI en sus propias
aplicaciones personalizadas bajo la modalidad de etiqueta blanca. A menudo se
integran estratégicamente en paneles y sistemas de back-office existentes en
los que solo un conjunto de usuarios puede obtener acceso a los informes.

Características y ventajas
En términos generales, Power BI ofrece las siguientes ventajas:
• Paneles personalizados que permiten a los analistas distinguir el aspecto de los
gráficos, los diagramas y las tablas.

• Colaboración entre distintos usuarios.


• Gobernanza y seguridad que garantizan que solo los usuarios autorizados
pueden tener acceso a los paneles.

• Sin restricciones de memoria ni velocidad, ya que se trata de un servicio


hospedado en la nube. Es simplemente como si el usuario estuviera cargando
una página web.

• Integración perfecta con las aplicaciones existentes para crear análisis de


paneles enriquecidos y personalizados.

• No se requiere soporte técnico especializado, ya que los informes están


diseñados para ofrecer una interacción sencilla.

• Compatibilidad con servicios de datos avanzados, como la característica


"Hacer una pregunta", integración con R, segmentación y análisis de cohortes.

Power BI es una herramienta intuitiva que, por lo general, solo requiere hacer
clic o arrastrar y colocar para tener acceso a los datos y visualizarlos con rapidez.
La herramienta de creación, Power BI Desktop, cuenta con muchas características
integradas para derivar análisis. Es lo suficientemente inteligente como para
sugerir un modelo de visualización basado en los campos de su elección.
70 | Procesamiento y visualización de los datos

Los paneles e informes de Power BI son altamente personalizables y le permiten


personalizar la experiencia en función de su marca. Puede seleccionar temas, usar
gráficos personalizados, crear etiquetas, insertar dibujos e imágenes, y mucho más.

Si lo comparamos con enviar un correo electrónico con un archivo de PowerPoint


adjunto, Power BI permite una colaboración abierta entre los analistas y otros
miembros de la empresa con solo compartir un panel centralizado. Puede tener acceso
a los informes utilizando los principales exploradores web o a través de aplicaciones
móviles que se pueden descargar en Apple App Store y Google Play Store. Los usuarios
pueden enviar comentarios y anotaciones sobre los informes y crear un bucle de
comentarios más rápido mediante el uso de alertas y notificaciones.
Power BI es seguro en diversas facetas y áreas. Por un lado, al crear un informe, se
asegura de que solo podrá acceder a los orígenes de datos a los que tiene acceso. Esto
está respaldado por la seguridad de nivel de fila (RLS). Por ejemplo, los analistas solo
pueden acceder a datos locales de su región, lo que garantiza que no tengan acceso
a los datos de otra ciudad o país. Una vez que esté listo para compartir el informe,
podrá guardarlo rápidamente en su espacio de trabajo personal. Puede seleccionar
a las personas de la organización con quienes quiere compartirlo o incluso invitar
a usuarios externos.
Si quiere empezar de a poco mientras aprende a usar Power BI, puede comenzar
usando solo archivos de Excel como orígenes de datos. Hay escenarios donde los
analistas reciben un archivo CSV de los ingenieros de datos porque el tamaño del
conjunto de datos no es demasiado grande.

En un escenario empresarial, los ingenieros y analistas tienen que ocuparse de varios


orígenes de datos y plataformas para crear un panel unificado. Esto suele ser un
desafío, especialmente cuando los analistas no están disponibles para realizar su
exploración. Aquí es donde una combinación de Power BI y Azure Synapse Analytics
puede ser muy útil.

Power BI y Azure Synapse Analytics


Power BI es una plataforma muy flexible que puede trabajar con varios orígenes
de datos. Podría ser una fuente tan simple como un archivo de Excel, una base de
datos local o en la nube, o un almacenamiento de datos. Uno de los procedimientos
recomendados para tener un almacenamiento de datos moderno es separar el deber de
procesamiento de datos de la visualización de datos. Ahí es donde entra en uso Azure
Synapse Analytics.
Azure Synapse Analytics, con el uso de un grupo de SQL dedicado, puede realizar
consultas complejas para todos los orígenes de datos y crear un modelo semántico
para Power BI. Un modelo de datos semántico es un formato de datos estructurados
que Power BI puede interpretar fácilmente para la visualización de datos. Este enfoque
es escalable y alivia muchas de las complejidades de la administración de datos en
varios equipos.
Power BI y Azure Synapse Analytics | 71

Características y ventajas
La combinación de Power BI y Azure Synapse Analytics tiene muchos beneficios.
Aunque no existe una solución única para todos ni una sola herramienta para resolver
todos sus problemas de datos, la combinación de Azure Synapse Analytics y Power BI
puede llevar a su equipo operaciones de datos y ciclos de vida robustos, elásticos y más
fáciles de mantener:
• Modelo de datos unificado: tratar Azure Synapse Analytics como la única fuente
de la verdad traerá un modelo de datos unificado para todos los servicios de
consumo de datos, incluido Power BI. Con este enfoque, todos estarán seguros
de que los datos que se guardan en el almacenamiento de datos (el espacio de
trabajo de Synapse) ya se han validado y procesado previamente. Esto es muy
útil, en especial para los desarrolladores y analistas de Power BI, lo que significa
que pueden centrarse en generar informes significativos en lugar de discutir
orígenes de datos dispares.
• Consultas escalables y transformaciones de datos: Power BI ofrece capacidades
de consulta de datos a través de DirectQuery. Esto es muy útil para conjuntos de
datos pequeños. Sin embargo, cuando los conjuntos de datos se vuelven masivos,
encontrará algunos problemas de escalabilidad y afectará el rendimiento de los
informes si realiza estas operaciones directamente en Power BI. Azure Synapse
Analytics ayuda en este escenario al realizar optimizaciones de rendimiento en
consultas de gran escala a través de vistas materializadas y el almacenamiento
en caché de conjuntos de resultados. Estos conjuntos de operaciones de proceso
intenso se realizan en un clúster elástico de grupos de SQL para satisfacer la
demanda de escalado. Con este enfoque, Power BI puede centrarse en realizar
funciones relacionadas con la visualización de datos en lugar de preocuparse
por la preparación de datos para servir para los informes.

• Gobernanza y seguridad centralizada: Power BI incluye características de


seguridad para proteger los archivos y los informes generados, como el uso
de Azure Active Directory (Azure AD) para asegurarse de que solo se compartan
espacios de trabajo e informes específicos para un grupo o usuarios. Con la ayuda
de Azure Synapse Analytics, el acceso a los datos se puede proteger aún más
mediante la implementación de seguridad de nivel de fila y de columna en un
nivel de datos en lugar de hacerlo en modelos de datos. En un escenario práctico,
el equipo de operaciones de base de datos puede aprovisionar y restringir
fácilmente el acceso a diversos orígenes de datos para el consumo de Power BI.

• Espacio de trabajo colaborativo: uno de los desafíos en la ejecución de una


capacidad de inteligencia empresarial, en especial en una gran empresa, es la
disparidad entre las herramientas, los equipos y las directivas. En un escenario
tradicional, estos equipos tienen una barrera de comunicación, pero quieren
lograr el mismo objetivo, que es aprovechar el poder de los datos. Azure Synapse
Analytics crea una experiencia colaborativa para estos equipos en los que todos
acceden al mismo portal web: Azure Synapse Studio. En una organización grande,
es posible que algunos equipos solo necesiten acceso a la sección de desarrollo
de Synapse Studio, mientras que otros solo acceden a la sección de supervisión.
Synapse Studio proporciona una apariencia unificada a todos los miembros de la
organización, independientemente de los roles y responsabilidades.
72 | Procesamiento y visualización de los datos

En este libro, utilizaremos Power BI para generar informes a partir de las consultas que
realiza el grupo de SQL en un espacio de trabajo de Synapse. Este capítulo se centrará
en cómo puede aprovechar los conjuntos de datos de Power BI en Synapse Studio.
Existen diferentes enfoques para realizar una visualización de datos sólida, pero la
razón principal para usar este enfoque (Power BI y Azure Synapse Analytics) es la
elasticidad y la separación de tareas. Esta combinación facilita una capacidad de
generación de informes optimizada a escala, aunque tenga miles de millones de
filas en sus bases de datos.
Para comprender más sobre cómo Azure Synapse Analytics y Power BI trabajan
de la mano, comencemos con una guía de inicio rápido simple.

Guía de inicio rápido (modelado y visualización de datos)


En esta guía de inicio rápido, exploraremos cómo podemos usar Azure Synapse
Analytics con el uso de un grupo de SQL para capturar datos de COVID-19 de Bing
y mostrar informes relevantes en Power BI.
Requisitos previos
Para hacer esta actividad, necesita lo siguiente:
• Una suscripción activa a Azure
• Power BI Desktop (solo Windows)
• Licencia de Power BI Pro
• Un espacio de trabajo de Azure Synapse Analytics

Comencemos.
Integrar Power BI con Azure Synapse Analytics
Esta actividad actuará como una guía paso a paso para integrar Azure Synapse Analytics
con Power BI. Utilizaremos el poder de Azure Synapse Analytics para realizar consultas
que permitirán a Power BI visualizar datos sin necesidad de realizar transformaciones
complejas dentro de su entorno de Power BI:
1. Lo primero que haremos es establecer una conexión entre su espacio de trabajo
de Azure Synapse Analytics y su área de trabajo de Power BI. Para hacer esto, vaya
a Synapse Studio y a la sección Manage (Administrar). Haga clic en Linked services
(Servicios vinculados) y luego en el botón + New (+ Nuevo). Busque Power BI al igual
que en la Figura 3.2. Haga clic en la opción Power BI y en Continue (Continuar):
Power BI y Azure Synapse Analytics | 73

Figura 3.2: Integrar Power BI con Azure Synapse Analytics

2. Rellene los campos Name (Nombre), Description (Descripción), Tenant (Inquilino)


y Workspace name (Nombre de espacio de trabajo) para este servicio vinculado.
Haga clic en Create (Crear):

Figura 3.3: Crear un servicio vinculado


74 | Procesamiento y visualización de los datos

Crear una base de datos


Siga estos pasos para crear una base de datos para almacenar datos:
1. Después de configurar el servicio vinculado con Power BI, es momento de crear una
base de datos con el fin de almacenar los datos de ejemplo que capturaremos en la
siguiente sección. Vaya a la sección Data (Datos) de Synapse Studio y elija la pestaña
Workspace (Espacio de trabajo). Haga clic en el botón + y elija SQL database
(Base de datos de SQL):

Figura 3.4: Crear una base de datos SQL en Synapse Studio

2. Elija la opción Serverless (Sin servidor) e ingrese un nombre de base de datos.


Haga clic en Create (Crear):

Figura 3.5: Elegir un tipo de grupo de SQL

Nota
Al configurar su espacio de trabajo de Azure Synapse Analytics, incluye un
grupo de SQL integrado sin servidor para usted.
Power BI y Azure Synapse Analytics | 75

Después de la creación exitosa de la base de datos, ahora debería aparecer en la


lista de bases de datos de su espacio de trabajo.

Figura 3.6: Lista de bases de datos creadas en el espacio de trabajo de Synapse

Vincular el conjunto de datos


Siga estos pasos para vincular un conjunto de datos:
1. La siguiente parte es la captura de los datos de COVID-19 de Bing. En la misma
página (en el panel Data [Datos]) donde creó una base de datos, haga clic de
nuevo en + y elija Browse gallery (Examinar galería).

2. Elija Bing COVID-19 Data (Datos de COVID-19 de Bing) en la pestaña Datasets


(Conjuntos de datos) y haga clic en Continue (Continuar):

Figura 3.7: Galería de conjuntos de datos


76 | Procesamiento y visualización de los datos

A continuación, se le dirigirá a la página de términos y condiciones. Lea los


acuerdos de licencia para asegurarse de que sigue el uso justo de estos conjuntos
de datos. También le mostrará una vista previa de algunas de las filas de ese archivo.
Haga clic en Add dataset (Agregar conjunto de datos).
El conjunto de datos ahora debería aparecer en la pestaña Linked data (Datos vinculados)
en Azure Blob Storage | Sample Datasets (Azure Blob Storage | Conjuntos de datos
de ejemplo).

Figura 3.8: Agregar el conjunto de datos a Azure Synapse Analytics con Azure Blob Storage

Transferir datos a la base de datos y ejecutar una consulta


Después de obtener el conjunto de datos de ejemplo, es el momento de transferirlos
a la base de datos SQL que creó anteriormente:
1. Haga clic con el botón secundario en la carpeta bing-covid-19-data seguida
de New SQL script (Nuevo script de SQL) y elija Select TOP 100 rows
(Seleccionar las 100 filas principales):

Figura 3.9: Crear una nueva consulta para seleccionar las 100 principales filas
Power BI y Azure Synapse Analytics | 77

Esto le pedirá un espacio de trabajo de desarrollo de scripts de SQL precargado.


Hay un par de cosas que modificaremos en esta consulta.
2. Asegúrese de que se seleccione un grupo de SQL como Built-in (Integrado) y
que se elija la base de datos adecuada en el menú desplegable Use database
(Usar base de datos). El espacio de trabajo de Azure Synapse Analytics incluye
un grupo de SQL integrado después de la creación de recursos:

Figura 3.10: Elegir un grupo de SQL y una base de datos

Modificaremos la consulta para crear una vista basada en una instrucción "select"
del conjunto de datos de COVID-19 de Bing:
-- Drop existing "Covid19View"
DROP VIEW IF EXISTS Covid19View;
GO

-- Create a View named "Covid19View"


CREATE VIEW Covid19View
  AS
-- Select ALL data from the dataset however for this specific report.
-- we only want country level reports and excluding "Worldwide" and
country regions.
SELECT
    *
FROM
    OPENROWSET(
        BULK     'https://pandemicdatalake.blob.core.windows.net/public/
curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet',
        FORMAT = 'parquet'
    )  
    AS [result]
WHERE [country_region] != 'Worldwide'  
    And ( [admin_region_1] is NULL
        Or [admin_region_1] = '' )

Nota
En el informe real más adelante en Power BI, puede ver que faltan otros países.
Esto tiene como objetivo simplificar el ejercicio.
78 | Procesamiento y visualización de los datos

3. En la sección Properties (Propiedades), elija un buen nombre de consulta con una


descripción opcional. Es importante que elija la opción All rows (Todas las filas):

Figura 3.11: Propiedades de script de SQL

4. Para guardar el script, haga clic en el botón Publish (Publicar). En Windows,


también puede lograr esto presionando Ctrl + S.
5. Ahora es el momento de ejecutar la consulta. Haga clic en Run (Ejecutar).
Power BI y Azure Synapse Analytics | 79

Una vez finalizada la consulta, debe mostrar el siguiente mensaje:

Figura 3.12: Estado de ejecución de consultas

Comprobar la vista
Vamos a comprobar si la vista se creó en la base de datos:
1. Vaya a la pestaña Workspace (Espacio de trabajo) de la sección Data (Datos)
de Synapse Studio. Profundice en la base de datos y las vistas, y compruebe
si se creó la vista:

Figura 3.13: Vista creada para el conjunto de datos de COVID-19


80 | Procesamiento y visualización de los datos

2. Haga clic con el botón secundario en la vista que se creó, haga clic en New SQL
script (Nuevo script de SQL) y en Select TOP 100 rows (Seleccionar las 100 filas
principales):

Figura 3.14: Consultar las 100 filas principales de Covid19View


Power BI y Azure Synapse Analytics | 81

3. Esto debería abrir una nueva ventana. Haga clic en Run (Ejecutar) para ejecutar
la consulta "select". Debe mostrar filas de datos en la pestaña Results (Resultados):

Figura 3.15: Ejecutar la consulta para obtener las 100 filas principales
82 | Procesamiento y visualización de los datos

Crear y publicar el informe de Power BI


Ahora que hemos rellenado la base de datos de Azure Synapse Analytics con datos,
es momento de crear un informe en Power BI:
1. Vaya a la sección Develop (Desarrollar de Synapse Studio y profundice en Power BI
| Your Workspace (Su espacio de trabajo) | Power BI datasets (Conjuntos de datos
de Power BI). Haga clic en + New Power BI dataset (+ Nuevo conjunto de datos
de Power BI):

Figura 3.16: Agregar un nuevo conjunto de datos de Power BI

2. Se abrirá un asistente que le permitirá elegir una base de datos. Haga clic en
Continue (Continuar):

Figura 3.17: Seleccionar un origen de datos para el conjunto de datos de Power BI


Power BI y Azure Synapse Analytics | 83

3. Después de elegir una base de datos, la siguiente parte del asistente le permite
descargar un archivo de Power BI Desktop. Haga clic en Download (Descargar):

Figura 3.18: Descargar un conjunto de datos de Power BI vinculado

Después de descargar el archivo, abra el archivo .pbids. El archivo debe abrir Power
BI Desktop en su equipo Windows. Si aún no está autenticado, le pedirá que elija un
método para conectarse a la base de datos:

Figura 3.19: Agregar una base de datos de SQL de Azure Synapse Analytics como origen
de datos en Power BI
84 | Procesamiento y visualización de los datos

Una vez que se autentique, se mostrará una pantalla Navigator (Navegador) para
que seleccione los orígenes de datos que desea capturar. Asegúrese de que la vista
donde almacenamos nuestros datos esté marcada. Luego, presione Load (Cargar):

Figura 3.20: Cargar el conjunto de datos de COVID-19 en Power BI

A continuación, se le pedirá una opción para elegir Import (Importar)


o DirectQuery:

Figura 3.21: Seleccionar la configuración de conexión de Power BI


Power BI y Azure Synapse Analytics | 85

Al elegir la opción Import (Importar), los datos se almacenarán en Power BI


Desktop. Deberá realizar una actualización para obtener una actualización
de esos datos. Import es el enfoque preferido si el tamaño de los datos no
es tan grande y si su máquina tiene suficiente memoria (RAM).
Si elige DirectQuery, no se almacenará ningún dato en Power BI Desktop.
DirectQuery solo creará una referencia desde el origen de datos y consultará
esos datos cada vez que actualice su espacio de trabajo. Se prefiere
DirectQuery si tiene orígenes de datos externos complejos.
Después de seleccionar una opción, cargará los datos para agregarlos como
los campos de Power BI.
4. Para empezar a crear un informe, arrastre el campo actualizado desde la pestaña
Fields (Campos) (a la derecha de Power BI) hasta el espacio de trabajo. Luego,
en la pestaña Visualizations (Visualizaciones), elija Matrix (Matriz):

Figura 3.22: La pestaña Visualizations (Visualizaciones)


86 | Procesamiento y visualización de los datos

5. En la sección Format (Formato), vaya a Subtotals (Subtotales) y desactive


Row subtotals (Subtotales de fila).
Esto debería darle un selector de fecha como el que se ofrece aquí:

Figura 3.23: Power BI Desktop con una matriz de fecha

6. Es momento de mostrar información mucho más significativa. Vaya a la sección


Visualizations (Visualizaciones) y haga clic en el Filled Map (Mapa lleno).
Esto creará un mapa vacío en el espacio de trabajo. Expándalo para
capturar el resto del área del espacio de trabajo.
Arrastre y suelte los siguientes campos en el mapa:
• country_region
• confirmed
• recovered
• deaths
Esto debería crear un mapa mundial que se llena.
Power BI y Azure Synapse Analytics | 87

7. Vaya a Date selection (Selección de fecha) la izquierda y elija un día profundizando


en la matriz. Por ejemplo, 21 de octubre.
8. Vaya a la sección Map (Mapa) y coloque el cursor en un country (país). Debe mostrarle
la cantidad de casos confirmados, recuperados y mortales para ese país en esa fecha:

Figura 3.24: Visualizar estadísticas de COVID-19 en el país

Siéntase libre de explorar las personalizaciones que podría desear implementar.

Después de una mayor personalización, vamos a publicar el informe para que


otras personas puedan verlo.
1. Haga clic en el botón Publish (Publicar) en la parte superior de la cinta
Home (Inicio). Elija un destino para este informe:

Figura 3.25: Elegir un destino para el informe


88 | Procesamiento y visualización de los datos

2. Una vez que se publique, le dará un vínculo para abrir el informe en PowerBI.com.
Abra el vínculo:

Figura 3.26: Abrir el informe publicado en Power BI

Una vez que se publique, estará disponible para su área de trabajo de Power BI.
En el espacio de trabajo, puede compartir este informe con cualquiera de los
miembros del equipo dentro de su inquilino al hacer clic en el botón Share
(Compartir):

Figura 3.27: Visualizar un informe en el área de trabajo de Power BI


Machine learning en Azure | 89

Este informe también se puede ver en tabletas y dispositivos móviles:

Figura 3.28: Visualizar el informe de Power BI en una tableta o dispositivo móvil

¡Felicitaciones por crear su panel de Power BI! En esta actividad, abordamos cómo
usar Synapse Studio para transformar los datos en un modelo semántico significativo
que Power BI puede visualizar. En la siguiente sección, exploraremos cómo podemos
usar machine learning con Azure Synapse Analytics.

Machine learning en Azure


Hay varias formas de realizar machine learning en Azure. Microsoft permite que la
ciencia de datos sea más accesible para todo tipo de usuarios y que los científicos de
datos sean más productivos. Microsoft proporciona un conjunto de tecnologías para
que desarrolladores, ingenieros de bases de datos y científicos de datos puedan crear
algoritmos de machine learning. Independientemente de su nivel de competencia
y experiencia en ciencia de datos, hay un servicio, herramienta o marco de trabajo
de Microsoft que será de utilidad para acelerar su viaje de machine learning.
En la Figura 3.29 se muestra un entorno de machine learning dentro del ecosistema
de Microsoft Azure. Puede usar modelos previamente entrenados con Azure
Cognitive Services e integrarlos directamente con sus aplicaciones sin necesidad de
configurar una canalización de datos. Puede usar marcos de trabajo populares como
TensorFlow y Keras en Azure, tanto si va a instalarlos en una máquina virtual como
a usar un espacio de trabajo de machine learning. Puede elegir distintas plataformas,
como Azure Machine Learning o Azure Databricks, para preparar y ejecutar sus
experimentos de machine learning:
90 | Procesamiento y visualización de los datos

Figura 3.29: Características y servicios de Microsoft Azure para machine learning

Al usar Azure para impulsar los cálculos del análisis de machine learning, obtiene
hardware especializado capaz de acelerar los experimentos. Con hardware acelerado,
como unidades de procesamiento de gráficos (GPU) rápidas y Field-Programmable
Gate Arrays (FPGA), puede leer miles de millones de entradas de fila de tabla de la
base de datos y probar varios modelos simultáneamente para conseguir resultados
más rápidos en sus experimentos de machine learning.
En las secciones siguientes se ofrece información general sobre las principales
tecnologías y plataformas que implementan el machine learning y la inteligencia
artificial en el ecosistema de Microsoft Azure.
Machine learning en Azure | 91

ML.NET
ML.NET es un marco de trabajo multiplataforma open source para desarrolladores
de .NET. Con ML.NET, usted y su equipo podrán aprovechar las aptitudes,
bibliotecas y marcos de trabajo que ya están presentes en el ecosistema de .NET.
Puede crear aplicaciones web mediante ASP.NET, aplicaciones móviles mediante
Xamarin, aplicaciones de escritorio mediante WPF e incluso Internet de las Cosas
(IoT) mediante Windows IoT. También puede ampliar su capacidad de creación de
modelos de machine learning mediante el uso de TensorFlow y ONNX. ML.NET
ofrece compatibilidad inmediata con algoritmos que permiten análisis de opiniones,
recomendación de productos, detección de objetos, previsión de ventas y muchos
más escenarios de uso reales.
Para tareas como la regresión y la clasificación, tanto el entrenamiento como
el consumo se pueden llevar a cabo con ML.NET. Además, también admite tipos
de datos básicos, canalizaciones extensibles, estructuras de datos, compatibilidad
de herramientas, matemáticas de rendimiento avanzado y mucho más.
ML.NET se puede instalar desde nuget.org. nuget.org es un repositorio público
de paquetes, bibliotecas y marcos de .NET descargables que se pueden agregar
fácilmente a los proyectos de .NET.

Machine learning automatizado


Machine learning automatizado (ML automatizado o AutoML) permite a los
profesionales de datos crear modelos de código gratis dentro de Azure Synapse
Analytics con tecnología de Azure Machine Learning. AutoML está diseñado para
detectar automáticamente los mejores modelos de machine learning para usted
al seleccionar el algoritmo adecuado y ayudar a ajustar los hiperparámetros para
la previsión, clasificación y regresión. Esto resultará muy útil si su equipo no tiene
un científico de datos.
AutoML permite que los usuarios (desarrolladores, analistas e incluso científicos de
datos) implementen el machine learning sin una gran barrera de entrada relacionada
con los lenguajes de programación, las bibliotecas, los marcos de trabajo y los
conceptos de ciencia de datos. Permite que las empresas innoven, porque acelera
el tiempo de comercialización mediante un proceso iterativo, y aprovechen los
procedimientos recomendados de ciencia de datos al ejecutar experimentos.
Las ejecuciones de AutoML se ejecutan en Azure Synapse Analytics sin servidor
grupos de Apache Spark, y se registran en el servicio Azure Machine Learning.
92 | Procesamiento y visualización de los datos

Cognitive Services
Azure Cognitive Services es un conjunto de modelos y API de uso general, previamente
entrenados y basados en la nube que se pueden consumir y ampliar para obtener
entrenamiento adicional para casos prácticos específicos. Por ejemplo, si quiere crear
una IA de detección de objetos que entienda lo que es un plátano, es posible que tenga
que alimentar más datos para ayudar a la IA a interpretar que una imagen contiene un
plátano. El consumo de Cognitive Services se hace a través de HTTP y es independiente
de la plataforma, lo que significa que puede usar cualquier lenguaje de programación
y sistema operativo. Hay cinco categorías principales de Cognitive Services: decisión,
visión, voz, búsqueda e idioma. Puede integrar fácilmente la IA y el ML con sus
aplicaciones móviles, web, de escritorio o incluso de IoT mediante Cognitive Services.

Las funcionalidades de conversión de voz a texto y de reconocimiento de voz de la API


Speech Services son buenos ejemplos de Cognitive Services. Estas funcionalidades le
permiten transformar datos de voz en texto, traducirlos a otros idiomas y reconocer la
identidad del orador sin tener que configurar un área de trabajo de machine learning
que implique millones de conjuntos de datos y una serie de experimentos de modelos
de machine learning.
El uso de Cognitive Services es el mejor enfoque para quienes quieren integrar fácilmente
la IA y el ML en sus aplicaciones con solo un mínimo de conocimientos de ciencia de
datos. Microsoft ofrece opciones de precios muy flexibles en las que solo paga por el uso
y la mayoría de los servicios ofrecen niveles gratuitos que puede explorar. Actualmente,
existen modelos preentrenados para análisis de texto (análisis de sentimiento)
y detección de anomalías, pero más modelos estarán disponibles en el futuro.
Puede obtener más información sobre Cognitive Services aquí.

Bot Framework
Microsoft Bot Framework permite que las aplicaciones creen bots inteligentes
(que a menudo se usan para bots de chat) para automatizar los flujos de trabajo.
Bot Framework está estrechamente relacionado con Microsoft Cognitive Services
como Language Understanding Intelligence Service (LUIS) y QnA Maker. QnA
Maker es un servicio de procesamiento del lenguaje natural (NLP) que acelera la
creación de IA basada en la conversación, como los bots de chat. Con Bot Framework,
los desarrolladores pueden crear fácilmente una IA conversacional que sea capaz
de aprender de expresiones e intenciones mediante entrenamiento. Este marco
de trabajo también permite que los desarrolladores publiquen fácilmente bots en
varios canales como Microsoft Teams, Cortana y Slack.

Actualmente, Bot Framework lo están adoptando ampliamente grandes empresas,


como bancos y conglomerados minoristas, para su primer nivel de soporte. Por
ejemplo, el Banco de Beirut usó Bot Framework para crear el bot de chat Digi Bob,
que ayuda a los usuarios a solicitar préstamos y aprovechar otros servicios bancarios.
Para obtener más información, lea este caso práctico aquí.
Machine learning en Azure | 93

Con Bot Framework, los desarrolladores pueden implementar bots inteligentes de


nivel empresarial que puedan traducir fácilmente consultas y mensajes (intenciones)
de los usuarios y responder con acciones significativas. Estas acciones pueden incluir
consultar un origen de datos o coordinar un comando en un sistema. Puede obtener
más información sobre Bot Framework aquí.
El ecosistema de Microsoft ofrece otras herramientas y productos de machine
learning, como:

• SQL Server Machine Learning Services


• Microsoft Machine Learning Server
• Azure Data Science Virtual Machine
• Windows ML
• Apache Spark MLlib
• Azure Notebooks
• Azure Batch
• ML Services en HDInsight
• ML en Power BI
• Azure Machine Learning para Visual Studio Code
• Ejecución de sus propios marcos de ML en un contenedor Linux o imagen
de servidor

Como en este libro no se podrían cubrir todas las tecnologías mencionadas aquí, nos
centraremos en Azure Machine Learning. Para obtener más información sobre estos
servicios, visite este vínculo.

Características y ventajas de Azure Machine Learning


Azure Machine Learning ofrece una variedad de características y mucha flexibilidad
a los usuarios de diversos orígenes y experiencia. Azure Machine Learning se puede
integrar en su canalización de datos existente para tareas como aprovechar los datos
de Azure Data Lake o Azure Synapse Analytics y ofrecer los modelos directamente a
Power BI. También puede usar Azure Databricks para automatizar aún más los clústeres
de hardware en los que esté ejecutando sus experimentos de machine learning.
Azure Machine Learning ofrece un espacio de trabajo integral para ejecutar las
operaciones de machine learning. Con Azure Machine Learning, puede crear
experimentos con AutoML, una interfaz visual o el Kit de desarrollo de software
(SDK) en su cuaderno de machine learning. También puede crear un modelo de datos
portátil que se puede ejecutar en un contenedor. Luego, este modelo se puede publicar
en Azure Container Instances (ACI).
94 | Procesamiento y visualización de los datos

Kit de desarrollo de software (SDK)


Azure Machine Learning ofrece un SDK de Python que brinda compatibilidad total
para marcos consolidados como MXNet, TensorFlow, PyTorch y scikit-learn. Puede
importar los SDK a sus experimentos con Jupyter Notebooks, Azure Notebooks
o incluso Visual Studio Code.

Designer
También puede utilizar una interfaz visual (con una codificación mínima requerida)
dentro de Azure Machine Learning, llamada Designer, para crear y ejecutar
experimentos. La experiencia utiliza un enfoque de código bajo/sin código con
herramientas de arrastrar y soltar para crear y conectar entidades. Esta es una forma
intuitiva de conectar orígenes de datos y de crear un modelo de machine learning
que se va a entrenar y servir.

AutoML
Como se mencionó anteriormente, AutoML es un mecanismo que sugiere el mejor
algoritmo para usar en sus experimentos. Es una característica incorporada de Azure
Machine Learning. Puede automatizar las tareas que consumen mucho tiempo, como
la limpieza de datos y la selección de los algoritmos adecuados para el modelo. AutoML
permite iterar rápidamente numerosas combinaciones de algoritmos e hiperparámetros
para encontrar el modelo óptimo en función del resultado que quiera.

Objetivos de implementación flexible


Microsoft y Azure no limitan sus opciones de implementación de modelos. Incluso
si administra su área de trabajo y realiza los análisis en la nube, no está limitado
a simplemente implementar el resultado de los experimentos en Azure. Tiene la
opción de implementarlos en entornos locales y perimetrales mediante contenedores.

Operaciones de machine learning aceleradas (MLOps)


En un almacenamiento de datos moderno, la combinación de Azure Databricks y Azure
Machine Learning puede acelerar las operaciones de machine learning. Azure Machine
Learning puede brindar un espacio de trabajo integral en el que puede conectar
datos de diversos orígenes con Azure Synapse Analytics, preparar y entrenar modelos
de datos, implementarlos en los consumidores, por ejemplo en Power BI, y luego
supervisarlos y volver a entrenarlos para mejorar su precisión.
Machine learning en Azure | 95

Figura 3.30: Preparación, experimentación e implementación en Azure Machine Learning

Con Azure Machine Learning puede usar Azure Databricks para preparar los datos
para sus experimentos. A continuación, puede usar Jupyter Notebooks o Visual
Studio Code para crear experimentos. Como alternativa, también puede usar la
característica integrada de Azure Notebooks de Azure Machine Learning. Después
podrá ejecutar experimentos para entrenar y probar el modelo de machine learning,
aprovechando los equipos para ejecutar algoritmos complejos de ciencia de datos.
Azure Machine Learning creará un modelo de machine learning con el formato ONNX,
que es altamente portátil y se puede implementar fácilmente en un contenedor, como
Azure Container Instance. También tiene la opción de ejecutarlo en Azure Kubernetes
Services (AKS) o incluso en dispositivos perimetrales compatibles con Docker.

Nota
El formato de modelo de ONNX permite a los profesionales de datos trabajar en
Azure Synapse Analytics para llevar una variedad de modelos a Synapse de forma
segura sin necesidad de movimiento de datos fuera de los límites de seguridad
de Azure Synapse Analytics.

Este libro no cubrirá el uso de Azure Databricks, como el clúster de proceso de


Azure Machine Learning, pero hay ventajas de tener esta combinación. Si ya usa
Azure Databricks para generar análisis en tiempo real en el almacenamiento de
datos moderno, también podría considerar la posibilidad de usarlo para ejecutar
experimentos de machine learning en Azure Machine Learning. Puede obtener
más información sobre este tema aquí.
96 | Procesamiento y visualización de los datos

Azure Machine Learning y Azure Synapse Analytics


Azure Machine Learning y Azure Synapse Analytics pueden trabajar de la mano
cuando resuelven diferentes problemas. Utiliza Azure Synapse Analytics para su
almacenamiento de datos moderno para hacer una canalización de datos unificada
para sus orígenes de datos dispares y, finalmente, modelar y ofrecer esos datos para un
consumidor cliente. Por otro lado, Azure Machine Learning se usa para crear un modelo
de machine learning que finalmente se puede usar para que sus aplicaciones creen
inferencias significativas (suposiciones).
Un ejemplo práctico del uso de Azure Machine Learning y Azure Synapse Analytics
juntos podría ser en una tienda minorista física. Azure Synapse Analytics puede agregar
varios orígenes de datos, como los datos de baliza y CCTV (no estructurados), las
bases de datos NoSQL y las bases de datos de SQL, luego consultarlos todos para que
ofrezcan informes significativos para Power BI, como "número de productos vendidos
frente al tráfico de la audiencia". Por otro lado, mediante el uso de Azure Machine
Learning, puede ejecutar experimentos de diversos orígenes de datos, incluidos los
generados por Azure Synapse Analytics, para crear un motor de recomendaciones
para las personas que llegan a la tienda en función de sus actividades y correlación
anteriores entre el resto de los clientes.
También es posible combinar Azure Synapse Analytics y los espacios de trabajo de
Azure Machine Learning como un servicio vinculado. Se puede crear un servicio
vinculado de Azure Machine Learning desde dentro de un espacio de trabajo de
Azure Synapse Analytics, y permite una colaboración mucho más sencilla entre
las dos tecnologías.

Guía de inicio rápido (Azure Machine Learning)


En esta guía de inicio rápido sobre Azure Machine Learning, analizaremos cómo
empezar a trabajar con la plataforma sin necesidad de codificación. Usaremos un
ejemplo llamado Clasificación de imágenes usando DenseNet con la característica
Designer de Azure Machine Learning para crear una canalización para su modelo
de machine learning.

Requisitos previos
Para hacer esta actividad, necesita lo siguiente:
• Una suscripción activa a Azure
• Crear un espacio de trabajo de Azure Machine Learning
Azure Machine Learning y Azure Synapse Analytics | 97

1. En Azure Portal, busque Machine Learning y haga clic en Create (Crear):

Figura 3.31: Crear un espacio de trabajo de Azure Machine Learning

2. Complete los detalles de la suscripción y del espacio de trabajo.

Nota
Para este ejercicio específico, puede crear una nueva instancia o utilizar una
existente para:

• Azure Storage
• Azure Key Vault
• Application Insights
• Azure Container Registry
98 | Procesamiento y visualización de los datos

3. Haga clic en Review (Revisar) + Create (Crear) para crear el recurso:

Figura 3.32: Detalles del espacio de trabajo de Azure Machine Learning

4. Una vez que se haya aprovisionado el recurso de Azure Machine Learning, vaya
a la sección Overview (Descripción general) y haga clic en Launch Studio:

Figura 3.33: Administrar el modelo de machine learning a través de Launch Studio


Azure Machine Learning y Azure Synapse Analytics | 99

Esto lo redirigirá a Azure Machine Learning Studio, donde crearemos nuestro modelo
de machine learning.

Creación de un modelo de machine learning mediante Designer


1. En Azure Machine Learning Studio, haga clic en la hoja Designer (Diseñador).
Usaremos una canalización de ejemplo llamada Image Classification using
DenseNet (Clasificación de imágenes con DenseNet). Haga clic en el icono
de Image Classification using DenseNet para empezar:

Figura 3.34: Crear una canalización de machine learning mediante Designer


100 | Procesamiento y visualización de los datos

En este ejemplo se creará una serie de pasos en la canalización, como se muestra


en la Figura 3.35:

Figura 3.35: Canalización de clasificación de imágenes

En resumen, esta canalización adopta un conjunto de imágenes del repositorio


Animal images Dataset (Conjuntos de datos de imágenes de animales) para usar
para el entrenamiento del modelo. A continuación, se aplicará una serie de pasos
y técnicas (consulte el diagrama de flujo) para entrenar el modelo hasta que esté
listo para puntuaciones.
Anotar el modelo significa crear una medición sobre lo preciso que puede ser este
modelo si se alimenta con una nueva imagen. La última parte es la evaluación del
modelo, donde se evalúa el rendimiento de este modelo. Este ejercicio es lo que
distingue a su modelo de otros modelos en términos de precisión y confiabilidad.
2. Haga clic en el botón Submit (Enviar) en la parte superior derecha de la página.
Le pedirá que especifique qué destino de proceso va a utilizar para este experimento,
lo que significa qué máquina virtual usará.
Para este ejercicio, cree un nuevo objetivo informático marcando el botón de opción
Create new (Crear nuevo) opción y asignándole un nombre. Haga clic en Save (Guardar).
Creará ese objetivo informático:
Azure Machine Learning y Azure Synapse Analytics | 101

Figura 3.36: Establecer un destino de proceso

Nota
En Azure Machine Learning, también puede agregar y configurar las máquinas
virtuales existentes como un destino informático.

Una vez que se ha creado el destino de proceso, ya está listo para ejecutar
el experimento. Vuelva a hacer clic en el botón Submit (Enviar) para desencadenar
el experimento.

3. Se le pedirá que seleccione o cree un nombre de experimento, como se muestra


en la Figura 3.37. Ponga un nombre de experimento en la opción Create new
(Crear nuevo) y, una vez que esté listo, haga clic en el botón Submit (Enviar):

Figura 3.37: Crear un nuevo experimento


102 | Procesamiento y visualización de los datos

Ahora ejecutará su experimento, y esto tomará algún tiempo. Puede ver el progreso
del experimento visualmente según el estado de cada paso: queue (cola), not
started (no iniciado) o completed (completado).

Una vez que se completa el experimento, todas las casillas deben resaltarse
en verde, como se muestra aquí:

Figura 3.38: Canalización de experimentos de imágenes de animales

4. Haga clic en el paso Scored Image Model (Modelo de imagen con puntuaciones).
Haga clic con el botón secundario en este y elija la opción Visualize (Visualizar).
Luego, haga clic en Scored dataset (Conjunto de datos con puntuaciones):

Figura 3.39: Visualizar el modelo con puntuaciones


Resumen | 103

La visualización de resultados muestra la probabilidad de que una imagen sea un


gato, un perro o una rana. Como puede ver, este modelo es mejor para detectar
gatos, donde se obtiene un 99,57 % de precisión, en comparación con
el reconocimiento de perros, donde solo se obtiene el 70,01 %:

Figura 3.40: Resultado de la visualización del modelo con puntuaciones

Este ejercicio le dio una idea de lo fácil que es empezar a trabajar en Azure Machine
Learning. Puede optar por implementar este modelo en ACI o AKS para obtener una
inferencia en tiempo real sobre una imagen que desea probar, pero eso está más
allá del alcance de este libro. No olvide limpiar o eliminar sus recursos si ya no los
va a necesitar.

Resumen
En este capítulo, analizamos cómo Azure Synapse Analytics puede servir a un modelo
de datos unificado para Power BI. Después, exploramos el uso de Power BI Desktop para
crear informes. Power BI permite crear gráficos enriquecidos y significativos de los que
se puede extraer información sobre las empresas. Luego, publicamos un informe para
colaborar en él en distintos soportes físicos.
También aprendimos que hay muchas herramientas y tecnologías disponibles para
implementar machine learning e inteligencia artificial en Azure. Exploramos Azure
Machine Learning, incluidas sus características y beneficios, y realizamos machine
learning en Azure para crear un modelo que clasifique a los animales. En el siguiente
capítulo, exploraremos diferentes casos de uso empresarial para Azure Synapse
Analytics y las tecnologías relacionadas.
Casos prácticos
4
empresariales

En los capítulos anteriores, aprendió sobre el análisis a escala en la nube y los servicios
que ofrece Microsoft Azure para permitir que las empresas descubran información.
También conoció las nuevas características y funcionalidades que se agregaron
al almacenamiento de datos moderno. En este capítulo, verá dos casos prácticos
empresariales reales para mostrar soluciones de alto nivel con Microsoft Azure. El
objetivo de estos casos prácticos es ilustrar cómo se pueden analizar en Azure los datos
en tiempo real para obtener información significativa y tomar decisiones empresariales.
Los nombres de empresas que se usan aquí son ficticios y, para las demostraciones
de implementación, usaremos conjuntos de datos de ejemplo. Sin embargo, los casos
prácticos empresariales, los desafíos y los problemas mismos son reales. Muestran
los tipos de problemas de datos que puede encontrar en su vida cotidiana.
106 | Casos prácticos empresariales

El primer caso de negocio se centra en ayudar a una empresa a que obtenga


información útil a partir de sus datos casi en tiempo real. El segundo habla sobre el uso
de los análisis de datos en Azure para abordar problemas operativos y ofrecer mejores
servicios a los pasajeros al mejorar la utilización de la infraestructura del aeropuerto
más concurrido de Egipto. Para cada uno de los casos prácticos, primero analizaremos
brevemente el problema y los desafíos y, luego, examinaremos un posible diseño
de soluciones y los servicios de Azure que permiten dichas soluciones.

Caso práctico 1: Información del cliente en tiempo real con


Azure Synapse Analytics
Imagine una gran empresa minorista multinacional que tiene tiendas en Australia,
Nueva Zelanda y Japón. Llamemos a esta empresa, Coolies. La empresa vende bienes
de consumo, artículos electrónicos y artículos de cuidado personal en sus tiendas
físicas y canales digitales en línea (aplicaciones móviles y web).

Coolies nombró a una nueva directora ejecutiva apasionada por los datos, quien creó un
nuevo equipo de análisis de datos y le encargó la tarea de crear y mantener la información
de los clientes casi en tiempo real para impulsar las decisiones empresariales.

El problema
Coolies, como muchas otras organizaciones, está tratando de reinventarse como una
empresa basada en datos. Son muchos los indicadores que muestran que esta es la
estrategia correcta. Sin embargo, para que Coolies tenga éxito, tiene que resolver
muchos problemas. Algunos de estos problemas son técnicos, mientras que otros
son culturales y organizativos.
La directora ejecuta de Coolies quiere que el nuevo equipo de análisis de datos
ayude a la empresa a responder preguntas que guíen las decisiones operativas. Hay
muchas preguntas que el equipo ejecutivo espera responder con datos. Sin embargo,
para articular mejor el alcance de este proyecto, el equipo de datos de Coolies
(en consulta con la directora ejecutiva) acordó enfocarse en la pregunta:
¿Cómo puede Coolies aumentar las ganancias?
Más concretamente, al equipo de datos de Coolies se le da un desafío de 20 días
para ejecutar un programa piloto de análisis de datos con el fin de modelar formas
que permitan que Coolies aumente su margen de ganancias en un 10 %.

Para empezar, el equipo se centrará en dos áreas clave:


• Comprender los comportamientos de compra de los clientes para predecir las
ventas de productos. Esto incluye optimizar las operaciones logísticas, usar
el espacio en estanterías y disminuir los residuos de productos caducados.

• Usar datos de clientes, ventas y marketing para optimizar el gasto de Coolies


en promociones y marketing a fin de llegar a los clientes adecuados con la
promoción correcta.
El problema | 107

Emocionados por llevar a cabo esta tarea, los miembros del equipo de datos de Coolies
comenzaron con un taller para refinar los requisitos y los desafíos técnicos. Las prácticas
de datos actuales de Coolies, como en la mayoría de las empresas, están orientadas
a informar lo que sucedió en el pasado. Los informes actuales responden preguntas
como "¿Cuántos productos se vendieron?" y "¿Cuáles fueron los ingresos que generó el
producto A?". Sin embargo, esto es muy distinto de lo que Coolies está intentando lograr,
que es descubrir patrones para predecir qué productos debe vender Coolies y en qué
cantidades los venderá, y hacerlo casi en tiempo real. Para que esto suceda, el equipo
de datos de Coolies concluyó que tienen que abordar los siguientes desafíos.

Captura y procesamiento de datos nuevos


Coolies interactúa con sus clientes a través de varios canales físicos y digitales. Cada
una de estas interacciones genera datos que pueden ser valiosos para Coolies. Piense
en todas las transacciones en el momento de pagar en la tienda, las respuestas de los
clientes a los distintos anuncios y los ajustes de pasillo en el piso de la tienda, así como
cualquier punto de tarjeta de fidelización que podrían haber ganado. Cada interacción
con el cliente genera una variedad de datos que Coolies tiene que capturar.
Además, la tienda en línea de Coolies tiene rastreadores y balizas para registrar las
actividades de los clientes y sus respuestas a los productos que están en promoción.
La aplicación móvil de Coolies tiene una funcionalidad similar que permite que Coolies
cree una muy buena vista de lo que a los clientes les gusta y no les gusta. Coolies
usa una combinación de Azure Application Insights y Splunk, así como herramientas
internas para registrar los eventos de clic de los usuarios, las navegaciones, el tiempo
que pasan en cada página, los productos que se agregan al carro de la compra y cuántos
pedidos se finalizan. La combinación de estos datos con registros de aplicaciones,
eventos de supervisión de red y lo que Coolies ya sabe sobre sus clientes proporciona
una herramienta eficaz para que Coolies prediga las tendencias y los patrones de uso.

Coolies no solo necesita capturar y almacenar todos estos datos a partir de las
interacciones físicas y digitales con los clientes, sino que también necesita limpiar,
validar, preparar y agregar todos estos datos. Esta es una tarea masiva con la que
el equipo no tiene experiencia. El equipo solía procesar datos por lotes mediante la
carga de datos históricos en el almacenamiento de datos para generar informes diarios
y semanales. Esto es bastante difícil para el equipo, porque es una tarea emocionante
pero también abrumadora.

Recopilación de todos los datos


Por lo general, los datos vienen en distintos formatos y formas. Por ejemplo, las
transacciones de compra son datos tabulares altamente estructurados con los
que es fácil trabajar. Por otro lado, los registros de aplicaciones son archivos
semiestructurados que enumeran millones de eventos y rastrean mensajes de lo que
sucede en los servidores de la aplicación. Coolies debe ingerir ambos tipos de datos,
tanto estructurados como no estructurados.
108 | Casos prácticos empresariales

Para hacer que las cosas sean aún más interesantes, las fuentes de redes sociales no
están estructuradas y están en un lenguaje natural que los clientes usan para escribir
en la Web. Estas fuentes pueden ser muy valiosas para Coolies, ya que informan a la
empresa los comentarios reales que proporciona su base de clientes. Sin embargo,
para los profesionales de datos, es difícil capturar y organizar estas fuentes sueltas
de publicaciones de lenguaje natural con el mismo formato y forma que los datos
de transacciones altamente estructurados.
El equipo de datos de Coolies debe enfrentar no solo la captura de datos en todas
sus formas variables (estructurados, semiestructurados y no estructurados), sino que
también encuentra una manera de limpiar y almacenar todos estos datos en un solo
lugar para que se puedan unir y correlacionar con otras formas de datos de otros
orígenes con el fin de descubrir nuevos conocimientos.

Búsqueda de información y patrones en los datos


Una vez que todos los datos se capturan, limpian, validan y almacenan, el equipo
de datos de Coolies debe iniciar la difícil tarea de encontrar información y patrones
significativos en los datos. Sin embargo, esto puede ser un problema difícil de resolver.
Cuando hablamos de gigabytes (o potencialmente terabytes) de distintos conjuntos
de datos, ¿cómo se encuentran estos patrones? ¿Por dónde se empieza?
Las técnicas tradicionales de informes y estadísticas no se escalarán y no se pueden
utilizar por sí solas para enfrentar este desafío. Las formas de programación
convencionales no son muy útiles, ya que los programadores y los propios profesionales
de datos no saben qué es lo que están buscando ni cómo encontrar esa información.

Descubrimiento en tiempo real


Coolies necesita descubrir rápidamente información significativa y hacer cualquier
hallazgo tan pronto como se detecte dicha información. Los datos suelen perder su
valor con el tiempo y algunos pierden su valor directamente después de la ingesta.
Por ejemplo, imagine un escenario en el que Coolies ejecuta una promoción importante
sobre un producto determinado, por ejemplo, un refresco de la marca ABC. Esta
bebida se vende muy rápido hoy en las tiendas X, Y y Z. No sería muy valioso si Coolies
descubriera esta tendencia mañana porque, para entonces, las tiendas X, Y y Z tendrán
los estantes vacíos y los clientes se sentirán decepcionados por no haber obtenido el
producto deseado, lo que significa que Coolies habrá perdido buenas oportunidades
para vender más.
El problema | 109

Como resultado, Coolies tiene como objetivo descubrir información y tendencias


en tiempo real o casi en tiempo real. Coolies define la idea de "casi en tiempo real"
como 5 o 10 segundos detrás del tiempo real. Esto proporciona el tiempo suficiente
para que las canalizaciones de datos procesen y analicen los datos activos a medida
que se generan en Coolies.
La directora ejecutiva de Coolies dejó en claro al equipo que la organización necesita
saber casi en tiempo real cómo se están ejecutando las operaciones y cómo se sienten
los clientes con respecto a su marca y servicios. Ella mencionó un escenario en el que
Coolies acababa de decidir dejar de vender el producto A. Después de esta decisión, los
clientes comenzaron a hablar mucho al respecto en las plataformas de redes sociales.
A continuación, la directora ejecutiva de Coolies planteó la siguiente pregunta: ¿Qué
pasaría si un gran número de clientes de Coolies estuvieran hablando en línea sobre
el cambio potencial a un competidor de Coolies solo por esa decisión? La respuesta
a esa pregunta es una información que es crítica para Coolies y que podría ser
perjudicial para su éxito. El punto de la directoria ejecutiva es que tener la capacidad
de buscar y analizar, y actuar sobre información en tiempo real puede ser una ventaja
competitiva enorme para Coolies.
En resumen, Coolies se enfrenta a los siguientes desafíos:
• Coolies quiere capturar y almacenar grandes conjuntos de datos de distintos
orígenes de datos con un rendimiento potencialmente alto. Estos orígenes
de datos incluyen almacenes de datos transaccionales, sensores de la Internet
de las Cosas (IoT), sensores en línea de Coolies y archivos de registros
de aplicaciones.
• La empresa también quiere combinar datos estructurados, semiestructurados
y no estructurados para crear un conjunto de datos único mediante la unión
y la correlación de datos de varios orígenes.
• Coolies debe controlar los distintos niveles de granularidad y calidad de los
diferentes puntos de datos. El equipo necesita limpiar, preparar, transformar
y unir estos conjuntos de datos múltiples.
• Coolies desea extraer información y patrones significativos a partir de los datos
casi en tiempo real.
• Por último, la empresa quiere escalar este proceso de descubrimiento de datos
para satisfacer las demandas del negocio.
110 | Casos prácticos empresariales

Lluvia de ideas para el diseño


En las siguientes secciones se intentará articular mejor los requisitos y elaborar una
solución técnica que pudiera satisfacer estos requisitos.

Ingesta de datos
La primera tarea para cualquier profesional de datos es buscar datos, recopilarlos,
limpiarlos, validarlos y, a continuación, empezar la emocionante tarea de detectar
y explorar los datos. En el escenario actual, debe definir los orígenes de los que
necesita extraer datos. También debe ver cómo puede cargar datos de distintos
orígenes para crear un conjunto de datos único que los analistas de datos puedan
explorar y consultar fácilmente. Algunos de los sistemas de origen que necesita
para este caso práctico incluyen:
• Transacciones de ventas: las transacciones de ventas no solo pueden saber
qué y cuántos productos se vendieron en una tienda determinada, sino también
pueden indicar qué clientes compraron qué productos. Esto se debe a que
Coolies ya tiene un programa de fidelización donde los clientes escanean su
tarjeta de fidelización como parte del procedimiento de pago. Coolies tiene
dos almacenes de datos diferentes para las transacciones de ventas: un almacén
de datos para tiendas físicas y otro para las tiendas en línea de Coolies.
• Datos del cliente: Coolies tiene un sistema de administración de relaciones con
el cliente (CRM) que contiene los datos del cliente. Los datos del cliente incluyen
(entre otras cosas) los detalles del perfil (nombre, edad, dirección, número
de teléfono), fecha de la última compra, favoritos y otro historial de compras.
• Datos del programa de fidelización: los datos del programa de fidelización se
almacenan en un sistema de origen distinto y ayudan a Coolies a vincular los
datos de los clientes con las transacciones de ventas.
• Datos de uso e información de las secuencias de clic de aplicaciones digitales:
esto indica cómo los clientes de Coolies responden al diseño y al contenido
de las aplicaciones de Coolies.
• Sensores y datos de IoT: algunas de las tiendas de Coolies están equipadas
con sensores digitales para comprender los comportamientos de los clientes
en el piso de la tienda. Algunas tiendas tienen sensores de IoT instalados para
contar cuántos clientes pasan por cada pasillo y en qué momento. También
hay sensores para medir la temperatura y la humedad en las tiendas de Coolies.
Coolies usa estos sensores para garantizar que los productos frescos, como
la leche, se mantengan en las condiciones adecuadas. Además, Coolies también
tiene sensores para contar los empleados casi en tiempo real. Esto ayuda
a Coolies a implementar más personal durante las horas punta para garantizar un
servicio más rápido para que los clientes no tengan que esperar en colas largas.
Lluvia de ideas para el diseño | 111

• Otros conjuntos de datos: para enriquecer los datos de Coolies y darles otra
dimensión, el equipo de datos de Coolies considera extraer otros datos, como
datos meteorológicos, datos de mapas o de sistemas de información geográfica
(GIS), datos de perfiles de ciudades y barrios residenciales y otros datos similares
de conjuntos de datos públicos. Estos conjuntos de datos pueden enriquecer
los datos de Coolies y agregar un mayor contexto a las tendencias y patrones
en los comportamientos del cliente y las cifras de ventas. Por ejemplo, tomemos
el clima. Coolies podría encontrar que las ventas de ciertos productos podrían
correlacionarse con ciertas condiciones climáticas, por ejemplo, el aumento en
la venta de helados durante la temporada de verano. Del mismo modo, un perfil
de ciudad con cierto grupo etario y atributos de ingresos promedio puede estar
fuertemente correlacionado con las cifras de ventas de ciertos productos. Por
ejemplo, los barrios residenciales donde la edad promedio es de 25 años podrían
tener mayores ventas de productos de peluquería, mientras que las tiendas en los
barrios residenciales con una edad promedio de 45 años podrían vender mucho
menos de los mismos productos.

Almacenamiento de datos
Como se explicó anteriormente, Coolies necesita ingerir datos de diversos orígenes.
También estima que el tamaño de sus conjuntos de datos actuales es de más de 400 TB
con un crecimiento promedio de 10 a 15 GB por día. El formato de estos conjuntos
de datos también es muy distinto. Algunos de ellos están altamente estructurados,
mientras que otros son totalmente no estructurados. Algo que todos estos conjuntos
de datos distintos tienen en común es que todos crecen rápidamente y llegan a una alta
tasa de rendimiento. Para satisfacer las necesidades de Coolies, necesitamos tener un
almacén de datos que:
• Sea escalable y elástico para crecer junto con las demandas del equipo de datos
de Coolies.
• Sea una plataforma segura y controlada para garantizar que los recursos
y la propiedad intelectual de Coolies estén bien protegidos.
• Sea compatible con otros sistemas y herramientas existentes.
• Tenga un precio razonable.
• Esté altamente disponible.
• Admita operaciones de alto rendimiento y procesamiento paralelo.
112 | Casos prácticos empresariales

Ciencia de datos
Una vez que todos los datos se recopilan y almacenan en un almacén de datos central,
el equipo de datos de Coolies necesitará tener una plataforma para:
• Limpiar, transformar y explorar los conjuntos de datos.
• Colaborar con otras partes interesadas empresariales y técnicas para descubrir
patrones y tendencias.
• Integrar con marcos de inteligencia artificial y tiempos de ejecución para aplicar
algoritmos de machine learning en los conjuntos de datos y descubrir cualquier
patrón.
• Entrenar y poner en marcha los nuevos modelos de machine learning que
podrían resultar del trabajo de la integración anterior.
• Permitir que el equipo programe, ejecute y supervise las canalizaciones de
datos para permitir la transformación, limpieza e integración de los datos.

Paneles e informes
El desarrollo de soluciones de análisis de datos se puede ver como una conversación
continua entre los profesionales de datos, las partes interesadas empresariales y los
datos mismos. Requiere un perfeccionamiento continuo y pruebas de hipótesis. Por lo
tanto, es imperativo que el equipo de datos de Coolies desarrolle y mantenga informes
y paneles interactivos para comunicar su trabajo y los resultados de sus procesos de
detección de datos a la empresa.
El primer paso para crear estos informes y paneles es contar con un modelo de datos
coherente y común que facilite un entendimiento común en toda la organización.

La solución
El equipo de datos de Coolies decidió usar Microsoft Azure para implementar la
solución de análisis de Coolies. Entre otras cosas, el equipo de Coolies incluyó la
escalabilidad, el cumplimiento y la disponibilidad regional de Azure en las regiones
de Coolies (Australia y Japón) como los principales factores para tomar esta decisión.
El equipo también articuló las razones por las que cada uno de los servicios de Azure
elegidos es adecuado para su propósito, como veremos en las siguientes secciones.
Coolies usó los requisitos perfeccionados y las conclusiones de la lluvia de ideas
(de las secciones anteriores) para elaborar un diseño para la arquitectura de la solución.
El equipo de datos de Coolies presentó la siguiente arquitectura (como se muestra
en la Figura 4.1):
La solución | 113

Figura 4.1: Arquitectura de soluciones de Coolies

Flujo de datos
El diseño de la Figura 4.1 muestra la arquitectura de la solución y el flujo de datos entre
los componentes individuales. Aquí se explica cada uno de los segmentos de flujo de
trabajo marcados (numerados) en el diagrama anterior:
1. Coolies necesita ingerir muchos conjuntos de datos distintos. Algunos de estos
contienen datos estructurados y otros, datos no estructurados. Coolies usará la
funcionalidad de Azure Synapse Analytics para la integración de datos híbridos.
Esto permite a Coolies ingerir datos estructurados mediante actividades periódicas
(de 5 minutos) por lotes e insertar estos datos en Azure Data Lake Storage Gen2.
2. Para los datos no estructurados, Coolies usará Azure Event Hub para capturar
estos datos casi en tiempo real e insertarlos en Azure Data Lake Storage Gen2.
Esto hace que todos los nuevos datos estén disponibles para su procesamiento
con la solución de análisis de Coolies y permite que Coolies desencadene cualquier
acción en los datos casi en tiempo real (cada 1 minuto). Los datos no estructurados
incluyen datos procedentes del análisis de secuencias de clic (informes sobre el
comportamiento de los usuarios en los canales digitales de Coolies), fuentes de
redes sociales (de Twitter, Facebook, etc.), registros e información de seguimiento
de los servidores de Coolies y cualquier dato procedente de los sensores de IoT.
114 | Casos prácticos empresariales

3. Todos los datos ingeridos terminarán en Azure Data Lake Storage Gen2,
que servirá a un centro central para todos los datos en toda la organización.

4. Una vez que los datos no estructurados se ingieren en Azure Event Hub, se insertarán
en Azure Data Lake para el almacenamiento permanente. Esto se realiza mediante la
función de captura de datos de Azure Event Hub, que nos permite almacenar datos
de transmisión en Azure Data Lake Storage Gen2 de forma rápida y sencilla.

5. Los datos de Coolies se alojarán en Azure Data Lake Storage Gen2. Estos datos
provienen de diferentes orígenes, con varios niveles de calidad y diferentes
granularidades. Por lo tanto, el equipo de datos de Coolies tendrá que limpiar,
preparar, validar y enriquecer estos conjuntos de datos. Este trabajo se realizará
mediante el grupo de Spark de Azure Synapse Analytics. Azure Synapse Analytics
proporciona un clúster de Spark administrado para que los ingenieros de datos
de Coolies puedan conectarse fácilmente y explorar los datos en Data Lake
Storage sin tener que trasladar los datos a ningún otro sistema.
6. Si bien el equipo de Coolies está limpiando y preparando datos en el grupo
de Spark de Azure Synapse, todos los datos (recientes/nuevos e históricos)
deben combinarse en un modelo estándar que sea fácil de consultar y ofrecer
a los usuarios empresariales. Para esto, el equipo de Coolies planifica usar el
almacenamiento de datos (grupo de SQL) de Azure Synapse Analytics. Esto permite
al equipo de datos de Coolies unir, modelar y preparar todos sus datos para el
consumo de los usuarios empresariales. Esto no solo permite que los sistemas de
los usuarios de Coolies ejecuten consultas y respondan preguntas sobre los datos
recién llegados, sino que también combinen estos nuevos datos con los datos
históricos que ya están en el almacenamiento de datos para llegar a un consenso
sobre el rendimiento empresarial y los comportamientos de los clientes.

7. Power BI permite a Coolies no solo publicar informes y paneles para los usuarios de
Coolies, sino que también permite que todos los usuarios sean analistas de datos para
su dominio mediante un enfoque de autoservicio y la exploración de los modelos de
datos publicados. Coolies puede usar modelos de datos compuestos para conjuntos
de datos de gran tamaño, que es una característica de Power BI Premium.

8. Coolies invirtió en modelos complejos con Microsoft Excel. Algunos de los analistas
de datos de Coolies quisieran usar Microsoft Excel para tener acceso a los datos
desde Azure Synapse Analytics. Esto se admite de manera inmediata en Microsoft
Excel y Azure Synapse Analytics.

Servicios de Azure
En las secciones siguientes se describirá cada uno de los servicios de Azure que
se muestran en el diseño de la solución de la Figura 4.1. Para cada servicio, primero
explicará por qué se necesita este componente, luego por qué los servicios de Azure
son adecuados para Coolies y, finalmente, mostrará un breve ejemplo práctico
de la parte principal de la implementación.
Servicios de Azure | 115

Azure Data Lake Storage Gen2


Rol en el diseño
Azure Data Lake Storage Gen2 funciona como almacén de datos central de
Coolies. Esto permite que Coolies reúna grandes cantidades de datos de orígenes
diferentes. Además, el tipo y el formato de los conjuntos de datos de Coolies varían
significativamente (estructurados, semiestructurados y no estructurados), lo que
requiere un almacén de datos más capaz que el simple almacenamiento tabular, que es
donde se necesita Azure Data Lake Storage Gen2. Azure Data Lake Storage Gen2 puede
almacenar datos sin esquemas, como blobs, y puede controlar diferentes formatos
(por ejemplo, archivos de texto, imágenes, videos, fuentes de redes sociales y archivos
comprimidos). La capacidad de controlar formatos de datos sin esquemas facilita a
Coolies la ingesta de datos en su formato sin procesar, lo que es esencial para el análisis
avanzado, ya que el análisis se puede realizar en los datos originales sin ningún sesgo
de ninguna agregación de datos.
Además, el equipo de Coolies necesita almacenamiento elástico para que un entorno
de sandbox explore y transforme los datos. Azure Data Lake Storage Gen2 también
se puede usar para esto.

¿Por qué usar Azure Data Lake Storage Gen2?


• Coolies usa Azure Active Directory para la administración de acceso. Azure Data
Lake Storage Gen2 ofrece integración nativa y lista para usar con Azure Active
Directory para administrar el acceso a los datos mediante Azure Active Directory
como mecanismo de control empresarial. Esto reduce la complejidad del diseño
y mejora la seguridad y el cumplimiento.
• Los estudios sugieren que Azure Synapse Analytics es mucho más rápido
y económico que otros proveedores de nube.
• Además de tener un bajo costo, Azure Data Lake Storage Gen2 no impone límites
a la cantidad de datos que se pueden almacenar. Esto significa que el equipo
de Coolies puede comenzar de forma pequeña con costos muy mínimos y escala
a medida que sea necesario, sin preocuparse por alcanzar ningún límite máximo.
• Azure Data Lake Storage Gen2 se integra de manera nativa con Azure Synapse
Analytics, Power BI y muchos otros servicios de Microsoft Azure. Esto constituye
un argumento convincente para el equipo de Coolies, que ya usa Power BI.
• Además de integrarse con Azure Active Directory, Azure Data Lake Storage Gen2
ofrece las características de seguridad que el equipo de seguridad de Coolies
exige. Esto incluye el cifrado de datos (tanto en reposo como en tránsito),
el inicio de sesión único, la autenticación multifactor, el control de acceso
detallado para usuarios y grupos y el cumplimiento de auditoría total mediante
la supervisión de todos los cambios de acceso y configuración en el lago de datos
116 | Casos prácticos empresariales

Implementación de ejemplo
Al ingerir datos en Azure Data Lake Storage Gen2, se considera un buen procedimiento
usar espacios de nombres y contenedores para organizar los datos en el lago de datos.
Esto no solo facilita la búsqueda de datos, sino que también ayuda con la administración
del control de acceso. En la Figura 4.2 se muestra un ejemplo de una zonificación de
lago de datos simple, donde el lago de datos está dividido en cuatro zonas: Zona de
aterrizaje (ingesta), Zona de almacenamiento provisional, Zona segura y Sandbox de
análisis:
• Zona de aterrizaje: aquí es donde aterrizarán todos los datos (excepto
los confidenciales) que llegan al lago de datos antes de procesarlos, limpiarlos,
agregarlos, etc.
• Zona de almacenamiento provisional: aquí se limpiarán/prepararán los datos
antes de que estén listo para su consumo.
• Sandbox de análisis: esta zona la usan científicos e ingenieros de datos
como sandbox para almacenar los datos mientras los procesan y exploran.
• Zona segura: aquí es donde se almacenan y procesan los datos altamente
confidenciales. Separar la zona segura de las demás zonas puede
mejorar la administración del control de acceso. Esta zona incluye datos
confidenciales como datos de fusiones y adquisiciones, datos financieros
y otros datos de clientes que podrían ser difíciles de enmascarar,
como datos de género, edad y etnia del cliente, si se conocen:

Figura 4.2: Ejemplo de zonificación del almacenamiento de un lago de datos


Servicios de Azure | 117

Azure Synapse Analytics


Rol en el diseño
La productividad y el tiempo acelerado para obtener información que Azure Synapse
puede aportar a Coolies son increíbles. El equipo de Coolies entiende el valor de la
experiencia unificada que reúne la ingesta de datos, el análisis de macrodatos y el
almacenamiento de datos a escala de la nube. Esta unificación de estos mundos
divididos puede permitir que el equipo reduzca enormemente su tiempo de desarrollo
de proyectos. En lugar de unir una multitud de servicios juntos o crear una solución de
punto en silos para solo una de estas tres áreas principales, Azure Synapse unifica los
datos, las tareas de datos y los equipos de datos con un servicio de análisis ilimitado que
lo hace todo.

El equipo de Coolies consideró la adopción de otros servicios y plataformas


comparables. Sin embargo, al estudiar las características de Azure Synapse Analytics,
el equipo de Coolies comenzó a apreciar la singularidad de Azure Synapse Analytics,
ya que es la única plataforma en el mercado que unifica el análisis de macrodatos, el
almacenamiento de datos y la ingesta y visualización de datos en una sola plataforma.
¿Por qué usar Azure Synapse Analytics?
• Azure Synapse Analytics es una plataforma de análisis a escala ilimitada que
unifica el análisis de macrodatos y el almacenamiento de datos. Es un servicio
completamente administrado y escalable dinámicamente. Esto lo hace muy
atractivo para Coolies, porque significa menos infraestructura para administrar,
menos sobrecarga y un servicio escalable que puede crecer con el negocio.

• Los estudios sugieren que Azure Synapse Analytics es mucho más rápido
y económico que otros proveedores de nube.

• Azure Synapse Analytics ofrece un tiempo de ejecución de Apache Spark inmediato


y lo unifica perfectamente con su motor de SQL. Esto es muy importante para
Coolies, ya que esto no solo significa consultas más simples porque los tiempos de
ejecución están integrados, sino que también significa una mejor colaboración ya
que todos (los analistas de datos, los científicos de datos, los ingenieros de datos,
etcétera) pueden consultar los datos con SQL estándar antiguo.
• El equipo de seguridad de Coolies tiene un requisito claro que establece la
necesidad de proteger sus recursos de datos. El equipo de seguridad de Coolies
ha exigido que el almacenamiento de datos no sea accesible públicamente en
la Web. Esto lo admite de manera nativa Azure Synapse Analytics a través de
la integración de Azure Virtual Network, donde Azure Synapse Analytics se
implementa como parte de la red Coolies (una red privada virtual).
• A Coolies también le gustaron las demás características de seguridad de
Azure Synapse Analytics. Entre ellas se incluyen la integración con Azure
Active Directory, la auditoría de actividades, la seguridad nativa basada
en filas y columnas, la integración de ExpressRoute y las funcionalidades
de detección de amenazas y cifrado de datos listas para usar.
118 | Casos prácticos empresariales

• Algunas partes de Coolies usan otras herramientas de BI como Power BI,


Tableau y Qlik, y querían asegurarse de que el nuevo almacenamiento de datos
admitiera esta integración. Azure Synapse Analytics es compatible con muchas
herramientas de BI, incluidas las herramientas de BI existentes de Coolies.
• Azure Synapse Analytics también puede activar Apache Spark a petición. Esto
puede resultar muy útil para el equipo de datos de Coolies, ya que les permite
usar las mismas herramientas open source para trabajar con sus datos dentro
de Azure Synapse Analytics. Esto facilita una mejor productividad, ya que los
clústeres de Spark admiten varios lenguajes y marcos de forma inmediata (Python,
R, Scala, entre otros). Por lo tanto, los miembros del equipo de Coolies pueden ser
productivos y felices con las herramientas con las que se sienten más cómodos.

• Desarrollar, implementar y administrar un almacenamiento de datos puede ser


un ejercicio muy complejo. Azure Synapse Analytics se destaca en esta área, ya
que se basa en la gran experiencia de Microsoft como empresa de desarrollo.
Parte de la razón por la que Coolies está tan interesado en Azure Synapse
Analytics es que se significa una administración de cargas de trabajo optimizada
y una excelente productividad de los desarrolladores. Azure Synapse Analytics
es el único almacenamiento de datos en la nube que ofrece compatibilidad nativa
con SSMS y SSDT, incluidos los proyectos de Visual Studio para la administración
de código y esquemas, que son fundamentales para garantizar un ciclo de vida
de desarrollo simplificado y reducir el costo total de propiedad.
• Además, Azure Synapse Analytics proporciona un entorno de colaboración
enriquecido donde varias partes interesadas de Coolies pueden trabajar
en el mismo cuaderno al mismo tiempo. Esto mejora significativamente
la productividad y fomenta una mayor innovación al reunir el conocimiento
de todos los miembros del equipo.
• La diversidad es buena para la innovación, por lo que Azure Synapse Analytics
admite varios marcos y lenguajes de programación. Los científicos de datos
y los ingenieros de datos de Coolies pueden usar R, Python, SQL, Scala, Java y C#
para escribir código en los cuadernos gracias al soporte de Azure Synapse para
Apache Spark. Esto es especialmente importante para Coolies, donde ha sido
difícil reclutar y retener talento en esta área.
Integración híbrida con Azure Synapse (canalizaciones)
Rol en el diseño: Coolies, como la mayoría de las otras empresas, tiene muchos orígenes
de datos. Algunos de estos orígenes de datos residen en las instalaciones, mientras
que otros están en la nube. Como se explicó anteriormente, Coolies debe reunir todos
estos datos en un solo lugar para poder combinar, correlacionar, modelar y transformar
estos conjuntos de datos para descubrir tendencias e información. Esto requiere crear y
administrar muchos conectores de datos para mover los datos de los sistemas de origen
de Coolies al almacén de datos central (el lago de datos). Aquí es exactamente donde
se destaca Azure Synapse porque es un servicio administrado que tiene como objetivo
simplificar la integración de datos para usuarios de todos los niveles de aptitud.
Servicios de Azure | 119

¿Por qué usar la integración híbrida con Azure Synapse?


1. Azure Synapse Pipelines ofrece más de 90 conectores de datos precompilados.
Esto permite a Coolies conectar los sistemas de origen a este nuevo
almacenamiento de datos moderno de manera rápida y sencilla sin costo adicional.
Estos conectores de datos los crea Microsoft, ofrecen una integración eficaz
y resiliente y aprovechan la red de Microsoft Azure, que ofrece un rendimiento
de hasta 1,5 GB/s. Esto no solo ofrece a Coolies un tiempo de comercialización
rápido, sino que también proporciona una plataforma para organizar
el movimiento de datos con una sobrecarga mínima.
2. Además de todos los conectores de datos precompilados, Azure Synapse
proporciona una interfaz visual que permite que todos desarrollen canalizaciones
de movimiento de datos completas con poco o nada de código. Además, el Editor
visual de Azure Synapse ofrece la capacidad de integrarse con repositorios de
control de código fuente de Git para mejorar la flexibilidad y la capacidad de
mantenimiento. Esto tiene una buena respuesta en el equipo de Coolies, ya que
mejora su productividad y ritmo de desarrollo, al mismo tiempo que reduce la
sobrecarga. El uso de esta característica permite al equipo de Coolies aprovechar
las funcionalidades eficaces de transformación de datos visuales y la organización
de datos de Azure Synapse en el portal visual, al tiempo que mantiene controlada
toda la versión de trabajo.
3. Azure Synapse es una herramienta totalmente administrada que permite al equipo
de Coolies comenzar con una inversión pequeña o sin ninguna inversión y escalar
según sea necesario. Esto también significa que no hay ninguna infraestructura
que administrar y el equipo de Coolies solo paga por lo que usa.
4. Además de otras certificaciones, Azure Synapse Pipelines cuenta con las
certificaciones ISO/IEC 27001 y 27018 y está disponible en 25 países o regiones,
incluidos Australia y Japón, que es donde opera Coolies. Esto hace que Azure
Synapse sea un servicio muy atractivo para Coolies, ya que marca todas las casillas
de su lista de comprobación en cuanto a la seguridad y el cumplimiento.
5. Azure Synapse proporciona las herramientas para crear canalizaciones de datos
que son resilientes frente a la desviación del esquema. Esto significa que cuando
el equipo de Coolies crea canalizaciones para mover datos del origen A a B, pueden
estar seguros de que las canalizaciones seguirán siendo funcionales, incluso si el
esquema de los datos del origen A ha cambiado. Esto mejora significativamente
la confiabilidad y la resiliencia de las canalizaciones de datos de Coolies.
6. Por último, el uso de Azure Synapse proporciona a Coolies un plano de control único
para administrar todas las actividades de movimiento y procesamiento de datos.
120 | Casos prácticos empresariales

Implementación de ejemplo
El siguiente es un ejemplo de cómo Coolies configura su instancia de Azure
Synapse Pipelines para extraer datos de su base de datos transaccional de ventas
(que se encuentra en un servidor de Azure SQL) a Azure Data Lake Storage Gen2:
1. Azure Synapse proporciona integración nativa con Azure Data Lake Storage
Gen2. Coolies puede conectarse a Azure Data Lake Storage Gen2 al configurar
un servicio vinculado en Azure Synapse Pipelines de la siguiente manera:
{
"name": "CooliesAzureDLStorageLS",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://{accountname}.dfs.core.windows.net",
"accountkey": {
"type": "SecureString",
"value": "{accountkey}"
}
},
"connectVia": {
"referenceName": "{name of Integration Runtime}",
"type": "IntegrationRuntimeReference"
}
}
}
Vale la pena mencionar que este ejemplo contiene marcadores de posición para
los valores de configuración principales, como los campos name y accountKey de
la cuenta de Azure Storage, y el nombre del entorno de ejecución de integración.
Servicios de Azure | 121

2. Después de crear un servicio vinculado en Azure Synapse Pipelines, es necesario


tener un conjunto de datos de Azure para hacer referencia a este servicio vinculado.
Esto se puede hacer de la siguiente manera:
{
"name": "CooliesAzureDataLakeSalesDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "CooliesAzureDLStorageLS",
"type": "LinkedServiceReference"
},
"schema": [ { optional } ],
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileSystem": "{filesystemname}",
"folderPath": "Coolies/sales"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
El fragmento de código anterior usa el servicio vinculado de Azure Data Lake
Storage Gen2 para crear un conjunto de datos. Este conjunto de datos creará
archivos de valores separados por comas (CSV) y los almacena como archivos
comprimidos (gzip).
122 | Casos prácticos empresariales

3. Configure la base de datos de Azure SQL como un servicio vinculado:


{
"name": "CooliesSalesAzureSqlDbLS",
"properties": {
"type": "AzureSqlDatabase",
"typeProperties": {
"connectionString": {
"type": "SecureString",
Azure Services | 163
"value": "Server=tcp:{servername}.
database.windows.net,1433;Database={databasename};User
ID={username}@{servername};Password={password};Trusted_
Connection=False;Encrypt=True;Connection Timeout=30"
}
},
"connectVia": {
"referenceName": "{name of Integration Runtime}",
"type": "IntegrationRuntimeReference"
}
}
}
Nuevamente, el fragmento de código anterior tiene marcadores de posición para
los siguientes parámetros: el nombre de Azure SQL Server, el nombre de la base
de datos SQL, el nombre de usuario y la contraseña de SQL Server y el nombre
del entorno de ejecución de integración. Además, el ejemplo es solo para fines
de demostración: las contraseñas siempre deben mantenerse fuera del código
y se deben almacenar en Azure Key Vault para garantizar la seguridad.
4. De manera similar al paso 2, es posible que tenga que configurar un conjunto
de datos en Azure Synapse Pipelines para la base de datos de ventas de Coolies.
El siguiente fragmento de código hace uso del servicio vinculado de Azure SQL
Database para crear un conjunto de datos que hace referencia a sales_table
en la base de datos SQL de Coolies:
{
"name": "CooliesSalesDataset",
"properties":
{
"type": "AzureSqlTable",
"linkedServiceName": {
"referenceName": "CooliesSalesAzureSqlDbLS",
"type": "LinkedServiceReference"
},
"schema": [ {optional} ],
Servicios de Azure | 123

"typeProperties": {
"tableName": "sales_table"
}
}
}
5. En el siguiente fragmento de código se configura la actividad de movimiento
de datos de la base de datos SQL de ventas a Azure Data Lake. Esto creará una
actividad en Azure Synapse Pipelines y hace referencia a los dos conjuntos de datos
que se crearon en el paso 2 y el paso 4. La actividad establece la base de datos de
ventas de Azure SQL como el origen del movimiento de datos y Azure Data Lake
Storage Gen2 como destino de la actividad de movimiento de datos:
{
"name": "CopyFromAzureSQLSalesDatabaseToAzureDataLake",
"type": "Copy",
"inputs": [
{
"referenceName": "CooliesSalesDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "CooliesAzureDataLakeSalesDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AzureSqlSource",
"sqlReaderQuery": "SELECT * FROM SALES_TABLE"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobFSWriteSetting",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
124 | Casos prácticos empresariales

Power BI
Rol en el diseño
El equipo de Coolies debe visualizar y comunicar sus hallazgos, así como algunos de los
datos sin procesar a la empresa. Esto es fundamental para garantizar la participación
de las partes interesadas del negocio y para obtener comentarios de manera rápida
y sencilla. Coolies también necesita una plataforma que permita a los usuarios usar
informes y paneles de autoservicio y que los usuarios de Coolies exploren los datos
por sí mismos.
Power BI completa este rol al permitir que Coolies visualice datos con una variedad
de objetos visuales y formas y también al permitir que los usuarios empresariales
y no técnicos atiendan de manera automática cualquier necesidad de informes o datos.
¿Por qué usar Power BI?
Power BI es una oferta de software como servicio (SaaS) de inteligencia empresarial
que permite que Coolies transforme sus datos en paneles y objetos visuales interactivos
de manera rápida y sencilla. Coolies elige a Power BI no solo por sus funcionalidades
de visualización, sino también para mejorar la colaboración y el autoservicio de datos
e informes, características principales del servicio Power BI. El equipo de datos de
Coolies resumió su justificación de por qué Power BI es adecuado para este propósito,
como se indica a continuación:
• Power BI es una oferta de SaaS totalmente administrada, lo que significa menos
infraestructura para que el equipo de Coolies la administre.
• Power BI ha simplificado la visualización y los informes de datos y puede permitir
que cualquier usuario de Coolies sea un analista de datos. La experiencia
del usuario en Power BI es una de las principales ventajas de la plataforma y
permite que los usuarios exploren los datos y los paneles interactivos por sí
mismos. Coolies espera que esto reduzca la sobrecarga y las solicitudes de datos
para su equipo de datos, así como mejorar la colaboración y la participación
de los usuarios empresariales.
• Power BI proporciona una aplicación de escritorio que los usuarios de Coolies
pueden usar para explorar datos, limpiar datos y crear objetos visuales. Esto
es muy atractivo para Coolies, ya que el uso de la aplicación de escritorio de
Power BI es gratis y no requiere una licencia comercial. Además, la experiencia
del usuario en la aplicación de escritorio de Power BI y el servicio basado en la
nube de Power BI es muy similar, lo que significa menos entrenamiento y una
transferencia de conocimientos más sencilla.
Servicios de Azure | 125

• Power BI tiene integración nativa con Azure Active Directory, lo que permite
que los usuarios de Coolies usen sus identidades existentes. Esto simplifica
las implementaciones, mejora la gobernanza y aumenta la seguridad.
Además, Power BI ha pasado por muchas certificaciones de cumplimiento
y está disponible en muchas regiones del mundo, incluida Australia,
que es donde se encuentra Coolies.
• Coolies tiene directrices promocionales y de personalización de marca bien
definidas. Esto significa que todas las visualizaciones y paneles deben cumplir
con los estilos de color y los procedimientos recomendados de Coolies, entre
otros aspectos. Coolies cree que esto mejora la personalización de marca y la
información porque los informes son coherentes y familiares para el usuario.
Power BI admite este requisito al ofrecer varias características, como temas
personalizables, diseños personalizables y otros objetos visuales personalizados.
• Power BI ofrece integración lista para usar con Azure. Esto permite que Coolies
comience con cualquier preparación y transformación de datos localmente
y escalar a Azure cuando sea necesario. Además, Power BI tiene integración
nativa con los servicios de inteligencia artificial de Azure. Esto permite que
Coolies inculque funcionalidades de IA y machine learning para ofrecer
valor de manera más rápida y sencilla, todo desde Power BI.
• El modelo compuesto de Power BI permite a Coolies tener informes enriquecidos
que capturan datos de varios orígenes. Los modelos compuestos permiten
a Coolies incluir sin problemas conexiones de datos desde más de una conexión
de datos DirectQuery o de importación en cualquier combinación. Esto
simplifica las conexiones de datos de los informes a los orígenes de datos y ayuda
a Coolies a crear modelos de datos complejos mediante la combinación de varios
sistemas de origen y la unión de tablas de distintos conjuntos de datos. Además,
el uso de la característica Modo de almacenamiento de los modelos compuestos
en Power BI Premium puede ayudar a mejorar el rendimiento y reducir la carga
de back-end. Esto se debe a que Power BI proporciona al creador de un informe
la capacidad de especificar qué objetos visuales requieren (o no) orígenes de
datos de back-end. Luego, Power BI almacena en caché los objetos visuales que
no requieren actualizaciones continuas de orígenes de datos back-end, lo que
a su vez mejora el rendimiento y reduce la carga en los sistemas back-end.
126 | Casos prácticos empresariales

Implementación de ejemplo
Este es un ejemplo de los paneles de Coolies. Los siguientes informes tienen como
objetivo comunicar el rendimiento de Coolies en términos de ventas de productos
en sus respectivas categorías, las existencias actuales de los productos más vendidos,
las cifras de ventas por año y la distribución regional de los clientes de Coolies.
El informe se creó con datos de ejemplo proporcionados por Microsoft:

Figura 4:3: Un ejemplo de los paneles de rendimiento empresarial de Coolies

Servicios de soporte de Azure


Además de todos los servicios de Azure que se han analizado, Coolies necesita una serie
de otros servicios para admitir y habilitar esta arquitectura de solución. Estos servicios
aparecen en la sección Supporting Services (Servicios de soporte) del diseño de la
solución que se mostró en la Figura 4.1. En esta sección, se describen brevemente cada
uno de estos servicios de Azure.
Azure Automation
Coolies tiene varios servidores de bases de datos, máquinas de prueba y otros
servidores de soporte. Coolies puede usar Azure Automation para automatizar la
configuración y la instalación de actualizaciones en estas máquinas. Azure Automation
permite que Coolies tenga una manera coherente de administrar estos servidores
y garantiza la seguridad y el cumplimiento mediante runbooks sin servidor. Esto
simplifica las operaciones y la sobrecarga de administración y devuelve al equipo
de Coolies el tiempo que necesita para centrarse en el problema más importante
de descubrir información que agregue valor empresarial.
Servicios de Azure | 127

Azure Key Vault


Cada organización tiene muchas claves de cifrado, contraseñas, certificados, cadenas
de conexión y otros datos confidenciales que deben estar bien protegidos. Coolies
comprende la necesidad de proteger esta información confidencial y administrarla
de forma segura y bien organizada. Azure Key Vault está diseñado para resolver
exactamente este problema al proteger todos estos datos confidenciales en un lugar
central donde el acceso se puede administrar de manera segura y se pueden organizar
las claves. Azure Key Vault no solo mejora los controles de seguridad, sino que también
simplifica las tareas operativas, como la rotación de certificados y claves.

Además, Coolies quiere usar Azure Key Vault para quitar la necesidad de que personas
y aplicaciones tengan acceso directo a las claves. Coolies puede usar Managed
Service Identity de Azure para que los usuarios y las aplicaciones puedan usar claves
y contraseñas sin tener que mantener ninguna copia local en sus máquinas. Esto
mejora la postura de seguridad general de Coolies y, al mismo tiempo, simplifica
la administración de secretos.
Azure DevOps
Azure DevOps brinda a Coolies las herramientas, los marcos y los servicios que se
usan para ejecutar una práctica ágil a fin de entregar su solución. Azure DevOps
es un servicio totalmente administrado que permite al equipo de Coolies:
• Planificar, realizar un seguimiento, analizar y supervisar los elementos de trabajo
con Azure Boards. Coolies ya usa prácticas ágiles, donde actualmente se usan
muros físicos para realizar un seguimiento de los elementos de trabajo, pero
Coolies se da cuenta de que los muros físicos no se pueden escalar para equipos
más grandes y están limitados en su funcionalidad. Por ejemplo, Coolies puede
usar Azure Boards para vincular defectos y elementos de trabajo con cambios
de código para supervisar y mejorar la calidad del código.
• Crear, probar e implementar continuamente cambios de código mediante Azure
Pipelines. Azure Pipelines facilita prácticas ágiles, como la integración continua
y la entrega continua, lo que puede mejorar significativamente la calidad y el
ritmo de la entrega. Azure Pipelines también permite a Coolies automatizar los
pasos de implementación necesarios para insertar cambios en el código. Esto
reduce la sobrecarga y mejora la confianza en las nuevas implementaciones.
• Coolies necesita un sistema de control de código fuente para hospedar su
código y scripts. Coolies quiere usar Azure Repos para esto, ya que proporciona
soporte de nivel empresarial, un número ilimitado de repositorios y un entorno
de colaboración para que el equipo de desarrollo analice y revise los cambios
de código antes de combinarlos.
• Azure Test Plans puede ayudar a Coolies en la validación y comprobación de
cualquier cambio de código y datos para brindar a Coolies una mayor confianza
en los cambios antes de combinarlos. Coolies puede usar Azure Test Plans para
realizar pruebas manuales y exploratorias y como Azure Test Plans forma parte
de Azure DevOps, Coolies puede tener una excelente trazabilidad de extremo
a extremo para historias, características y defectos.
128 | Casos prácticos empresariales

Azure Active Directory


Coolies usa Microsoft Office 365 para la colaboración en la oficina, lo que significa
que Coolies ya usa Azure Active Directory. Coolies no desea tener varios servidores de
identidades para administrar y entiende que la administración de nombres de usuario
y contraseñas es una tarea masiva que es mejor dejar a un equipo bien provisto, como
el equipo de Active Directory. Azure Active Directory tiene integración con muchos de
los servicios que Coolies espera usar, como SQL Server, Azure Synapse Analytics, Azure
Data Lake Storage y Power BI. Esto hace que Coolies elija Azure Active Directory para
habilitar el inicio de sesión sencillo y sin problemas en todos estos servicios y, al mismo
tiempo, mejorar los controles de seguridad sobre los datos y las aplicaciones de Coolies.

Coolies también puede beneficiarse de la completa protección de identidad de


Azure Active Directory, que incluye la detección de amenazas y respuesta ante ellas.
En general, Coolies puede reducir notablemente la sobrecarga y mejorar la seguridad
con Azure Active Directory.

Azure Monitor
Coolies reconoce que la disponibilidad y el rendimiento de su plataforma de datos es de
suma importancia para ganar la confianza de todas las partes interesadas. Para lograrlo,
Coolies no solo necesita recopilar y almacenar telemetría de todas las áreas de la
solución, sino también analizar y actuar sobre cualquier dato. Esto requiere un servicio
dedicado, ya que es un desafío importante implementarlo, y eso es exactamente para lo
que Azure Monitor está diseñado.
Azure Monitor es un servicio totalmente administrado que permite a Coolies recopilar,
analizar y controlar datos de todos los componentes de la plataforma de datos de forma
fácil y rápida (incluidos los servicios de Azure, las máquinas virtuales, el rendimiento
de la red y otros orígenes). Azure Monitor ofrece dos tipos fundamentales de datos,
que son los registros y las métricas. Coolies puede usar métricas para obtener
información sobre el estado de sus servicios en un momento determinado, mientras
que los registros ayudan al equipo de Coolies a analizar y visualizar los mensajes de
seguimiento de los componentes de la solución individuales. Azure Monitor también
ofrece muchos gráficos y visualizaciones que Coolies puede usar para visualizar el
estado del sistema de un vistazo. Por último, Coolies puede usar Azure Monitor para
desencadenar acciones como alertas cuando se cumplen determinadas condiciones
(por ejemplo, cuando el número de errores supera un determinado umbral, se puede
notificar al equipo de Coolies por correo electrónico o SMS).

Conocimientos y acciones
Con Microsoft Azure, el equipo de datos de Coolies pudo diseñar, compilar
e implementar la solución de manera rápida y sencilla. En dos semanas, el equipo
encontró una serie de conocimientos clave que pueden ayudar a Coolies a aumentar
sus márgenes de beneficio. Tres de estas ideas se muestran a continuación.
Conocimientos y acciones | 129

Reducción de los residuos en un 18 %


Descripción: con el modelado inicial, el equipo de datos de Coolies pudo reducir los
residuos en un 18 %. Actualmente, la organización pierde cerca de USD 46 millones al
año debido al exceso de productos con vida útil corta. Por ejemplo, productos como
el pan y la leche. El equipo combinó los datos históricos de ventas con otros orígenes,
como los datos meteorológicos y los calendarios escolares, lo que permitió al equipo
predecir la demanda de estos productos con mayor precisión, lo que llevó a una
reducción significativa de los residuos.
Valor empresarial estimado: USD 8,28 millones al año.
Orígenes de datos clave: transacciones de ventas (tienda física y en línea), datos
de tiendas (ubicaciones de las tiendas y existencias a lo largo del tiempo), datos
meteorológicos, datos de perfiles de barrios residenciales, calendarios escolares
y calendario de feriados.
Acciones: las partes interesadas empresariales de Coolies quedaron muy impresionadas
y quisieron implementarla rápidamente. Con Azure Synapse Analytics y Power BI,
el equipo de datos de Coolies pudo implementar la solución para que la usaran
rápidamente los gerentes de las tiendas. El resultado es que los gerentes de las
tiendas de Coolies ahora tienen un panel interactivo que puede predecir las ventas
con precisión y dar recomendaciones sobre la cantidad de existencias que debe
haber para cada producto.
Canalización de datos: aquí está la canalización de datos simplificada para esta iniciativa:

Figura 4.4: Canalización de datos para la iniciativa 1 (reducción de residuos)


130 | Casos prácticos empresariales

Las tendencias de las redes sociales impulsan el crecimiento


de las ventas en un 14 %
Descripción: el equipo de datos de Coolies desarrolló una hipótesis con respecto a que
las tendencias de las redes sociales pueden aumentar las ventas. El equipo realizó la
detección de datos inicial para descubrir que ese patrón existe en realidad. Curiosamente,
el equipo descubrió que sincronizar las actividades de marketing de Coolies con
tendencias de redes sociales puede ayudar a Coolies a mejorar las ventas en un 14 %.
Un claro ejemplo de esto fue lo que el equipo encontró en los datos de la temporada
de verano de Australia de 2019. En enero de 2019, hubo una fuerte tendencia en las
redes sociales relacionada con la alimentación saludable. Esto no lo organizó Coolies.
Hubo más de 4,5 millones de australianos que tuiteaban, marcaban como favoritas,
compartían o comentaban publicaciones en Twitter y Facebook con el hashtag
#BeHealthy. Coincidentemente, Coolies tuvo una campaña de marketing relacionada
con productos de ensalada de frutas. El equipo descubrió que esta campaña de
marketing fue excepcionalmente exitosa y aumentó las ventas en más de un 25 %,
lo que es mucho más alto que el aumento promedio esperado de 5 % a 10 %.
Valor empresarial estimado: USD 15,4 millones al año (en función de un aumento
del 14 % de los productos indicados).
Orígenes de datos clave: fuentes de redes sociales (Twitter, Facebook e Instagram),
transacciones de ventas (tienda física y en línea), datos de tiendas (ubicaciones de
las tiendas y datos de la campaña de marketing.
Acciones: después de analizar los resultados con el equipo de marketing de Coolies, se
acordó que Coolies podría reproducir el éxito de su campaña de promoción de enero
de 2019 al supervisar y alinear sus promociones con las tendencias de las redes sociales.
El equipo de datos de Coolies implementó la canalización de datos, tal como se muestra
en la Figura 4.5, y la implementó como un panel interactivo y en tiempo real para
informar tanto al equipo de marketing de Coolies como a los gerentes de tiendas.
Conclusión | 131

Canalización de datos: aquí está la canalización de datos simplificada para esta


iniciativa:

Figura 4.5: Canalización de datos para la iniciativa 2 (aumento de las ventas)

Conclusión
Ya vio cómo Coolies (o cualquier otra organización) puede aprovechar Microsoft Azure
para descubrir conocimientos sobre los clientes y agregar valor casi en tiempo real.
Microsoft Azure ofrece una amplia variedad de servicios para la administración y el
análisis de datos y tiene como objetivo optimizar el proceso de desarrollo y, al mismo
tiempo, elevar el nivel de calidad y rendimiento.
Además, Microsoft Azure ofrece muchos servicios de datos y análisis como ofertas
totalmente administradas, lo que significa menos sobrecarga para Coolies (y para
cualquier otra organización). La otra ventaja de usar Azure sin servidor es que las
organizaciones y los equipos pueden empezar poco a poco sin grandes inversiones
y escalar verticalmente a medida que crece la demanda. Este es un gran enfoque
empresarial, ya que reduce los riesgos de la inversión anticipada, al tiempo que mitiga la
carga de la aprobación burocrática de grandes gastos al inicio de un proyecto de datos.
Por último, Microsoft Azure proporciona una gran cantidad de documentación
y materiales de aprendizaje en línea y tiene como objetivo romper la barrera de entrada
al ofrecer crédito gratuito que puede usar cualquier equipo o individuo para empezar
a aprender y crear con Azure hoy mismo.
132 | Casos prácticos empresariales

Caso práctico 2: Uso de análisis avanzado en Azure para crear


un aeropuerto inteligente
Najad es una ciudad grande en la parte norte de Egipto. El principal aeropuerto de la
ciudad, el Aeropuerto Internacional de Najad (NIA) recibe a 25 millones de pasajeros
al año, lo que equivale a 70 000 pasajeros diarios. Es el aeropuerto más concurrido
de Egipto y ve un promedio de 200 000 vuelos cada año.
La administración del aeropuerto NIA espera adoptar análisis de datos en Azure para
mejorar la planificación de la capacidad y la calidad del servicio. El objetivo es usar
los datos para abordar los problemas operativos que actualmente obstaculizan la
capacidad del aeropuerto NIA para utilizar plenamente su infraestructura y recursos.
A su vez, esto mejorará la satisfacción del cliente y permitirá al aeropuerto NIA escalar
su operación atendiendo a más pasajeros y aviones.
En las siguientes secciones se definirán los problemas a los que se enfrenta el
aeropuerto NIA y verá una lluvia de ideas de diseño. Por último, creará una posible
arquitectura de solución en Microsoft Azure que puede resolver este problema
y explicar por qué Azure es la plataforma perfecta para este tipo de soluciones.

El problema
Para definir correctamente el problema de negocio, primero debe considerar los
desafíos desde la perspectiva empresarial. Luego, observará los problemas técnicos
que obstaculizan la capacidad de avanzar del aeropuerto.

Desafíos empresariales
Como se mencionó, el aeropuerto NIA recibe a decenas de millones de pasajeros cada
año. Se prevé que el volumen de estos pasajeros aumente en aproximadamente un
20 % en los próximos 3 a 5 años. En 2019, el aeropuerto sufrió una pérdida de más de
USD 370 millones debido a ineficiencias operativas. Esto incluyó los costos por retrasos
de los vuelos debido a la congestión y las largas colas, la pérdida de oportunidades
minoristas debido a la mala experiencia de los pasajeros, la mala planificación
de los niveles de personal y la infrautilización de los activos del aeropuerto.
La directora de informática de NIA, Zara Hassan, es relativamente nueva (solo ha
trabajado en el aeropuerto NIA durante 6 meses) y tiene experiencia en datos e
inteligencia empresarial. Zara tiene la visión de convertir esta ineficiencia masiva
del aeropuerto NIA en una oportunidad de negocio. Presentó un argumento comercial
a la junta del aeropuerto para realizar pequeñas inversiones incrementales en análisis
avanzados para reducir los costos operativos generales del aeropuerto, al mismo
tiempo que mejora la experiencia del cliente.
El problema | 133

Como visionaria, Zara entiende que para que el aeropuerto tenga éxito, tiene que pasar
de observar informes históricos a predecir el futuro. Ella quiere que su equipo ayude
a la dirección del aeropuerto a predecir los retrasos de los vuelos y a mitigar tales
sucesos. Cree que si la administración del aeropuerto tiene acceso a las herramientas
adecuadas, entonces es posible mejorar la planificación de la capacidad, la asignación
de los recursos y la seguridad.
El enfoque propuesto es utilizar datos e inteligencia artificial para modelar pasajeros,
vuelos, equipaje, activos y otros conjuntos de datos para poder predecir con confianza
el volumen de pasajeros y el movimiento de la multitud, lo que a su vez permitirá que
el aeropuerto mejore sus operaciones y reduzca los costos.
Los desafíos empresariales a los que se enfrenta el equipo de análisis de datos del
aeropuerto NIA se pueden resumir de la siguiente manera:

• El primer gran desafío para la administración del aeropuerto es mejorar la


planificación de la capacidad. Actualmente, el equipo de liderazgo del aeropuerto
toma estas decisiones en función de suposiciones y experiencias anteriores,
lo que no refleja necesariamente la realidad. Hasta ahora, el aeropuerto NIA
no ha tenido un enfoque coherente basado en datos para predecir el número
de pasajeros que pueden esperar en un día determinado. La precisión en
la predicción de la cantidad de pasajeros esperados es fundamental para la
planificación de la capacidad, como la administración de los niveles de personal
y la compra de equipos, así como la planificación de mejoras de infraestructura.
Además, el aeropuerto NIA no tiene implementada una solución para predecir
las aerolíneas que podrían retrasarse o la cantidad de personal de seguridad
que el aeropuerto podría necesitar en un día determinado para atender a los
pasajeros. Esto conduce a hacinamiento, colas largas y una utilización ineficiente
de la infraestructura. Se estimó que la mala planificación de la capacidad
había costado al aeropuerto cerca de USD 160 millones el año pasado. A esto
le agregamos activos nuevos, como vehículos y carros que el aeropuerto tuvo
que comprar debido a la necesidad percibida, mientras que en realidad solo
necesitaban mejorar la utilización de los activos existentes.
• La asignación de recursos es otra de las principales preocupaciones de
la administración del aeropuerto NIA. Los pasajeros tienen que esperar en
el aeropuerto en largas colas, ya sea en la aduana o en los mostradores de
facturación de las aerolíneas. La mayoría de estas largas esperas se debe
a la mala asignación del personal de NIA en distintas áreas del aeropuerto.
La administración del aeropuerto NIA quiere mejorar la asignación de los
recursos, lo que luego mejoraría la satisfacción de los clientes.

• Las tiendas minoristas y libres de impuestos en el aeropuerto conforman una


parte importante de los ingresos del aeropuerto. NIA tiene una serie de grandes
vallas publicitarias, donde se usa la información de los clientes para proporcionar
algunas promociones ocasionales. La administración del aeropuerto NIA
desea mejorar la participación de los clientes y, a la larga, las oportunidades
de negocio en estas tiendas minoristas del aeropuerto.
134 | Casos prácticos empresariales

• Una gran parte del servicio de atención al cliente es proporcionar a los clientes
la información que necesitan en el momento en que la necesitan. Viajar a través
de un aeropuerto puede ser una experiencia muy agotadora y también puede
ser estresante cuando los pasajeros llegan tarde o se les retrasa o cancela un
vuelo. Por lo tanto, el aeropuerto NIA necesita actualizar el estado del vuelo o los
retrasos casi en tiempo real. Esto requiere que la administración del aeropuerto
NIA idee formas creativas e innovadoras de poner la información pertinente
a disposición de los clientes cuando la necesiten. Esto reducirá la confusión
y el estrés de los clientes y mejorará la atención al cliente en términos generales.

• NIA necesita una revisión de la infraestructura a largo plazo. Esto resolvería


el problema de la congestión, que ha causado accidentes menores en el
pasado y ha costado dinero al aeropuerto, a la vez que afecta negativamente la
experiencia del cliente. Sin embargo, el aeropuerto NIA está buscando mejorar el
flujo de pasajeros y disminuir la congestión usando adecuadamente los recursos
como una solución a corto plazo para el futuro cercano. La congestión dificulta
el flujo de pasajeros y crea riesgos de seguridad cuando demasiadas personas
se ven obligadas a pasar por pequeños pasillos o pasarelas, especialmente
cuando hay personas mayores, bebés y pasajeros con discapacidades. Esto crea
incidentes de seguridad y cada una de estas alertas e incidentes de seguridad
significa un costo monetario para el aeropuerto, pone en riesgo la vida de los
pasajeros y afecta negativamente la experiencia del cliente. El aeropuerto quiere
mejorar el flujo de pasajeros para reducir la congestión y mejorar la seguridad.

Ahora que sabe cuáles los principales puntos débiles que el lado empresarial de NIA
espera abordar, tendrá que considerar los desafíos técnicos para que así pueda empezar
a diseñar una solución.

Desafíos técnicos
No hay una fuente de verdad única: un problema importante que la directora de
informática del aeropuerto NIA intenta solucionar es que el aeropuerto no tiene
actualmente una fuente de verdad única en términos de los orígenes de datos. Hoy
en día, el aeropuerto se basa en informes de una serie de sistemas internos antiguos,
así como informes de socios. Estos informes suelen abarcar aspectos operativos del
día anterior y de la semana anterior y tienen cifras contradictorias. Por ejemplo, los
datos de vuelo actualmente están en manos de las compañías aéreas individuales. El
aeropuerto NIA cuenta con más de 35 compañías aéreas, cada una de las cuales tiene
sus propios sistemas y usa otra terminología. Esto hace que sea extremadamente difícil
para la administración de NIA obtener informes creíbles a tiempo y mucho menos tener
operaciones basadas en datos.

Latencia en la obtención de datos e informes: como el aeropuerto NIA no tiene


control sobre los datos de vuelos y cargamentos, confía en los socios para generar,
agregar y enviar informes operativos. Estos informes generalmente se retrasan por días
o semanas. Esto reduce significativamente la capacidad de la organización para actuar
El problema | 135

según cualquier información proveniente de estos informes y obliga al aeropuerto


a ser siempre reactivo en sus operaciones en lugar de planificar con anticipación. Por
ejemplo, si se presenta un informe a la dirección del aeropuerto y muestra que hubo
largas colas que causaron retrasos en los vuelos ayer, la dirección del aeropuerto
no puede cambiar la situación ya que ocurrió en el pasado. El acceso oportuno
a estos datos es fundamental para el aeropuerto NIA y para casi todas las demás
organizaciones.
Disponibilidad y acceso a los datos: la innovación requiere explorar las posibilidades
y experimentar con las opciones. En términos de los datos, esto requiere que el
aeropuerto NIA explore, enriquezca y correlacione continuamente los datos de vuelos
y pasajeros con orígenes de datos externos. Lamentablemente, el aeropuerto no puede
hacer nada de esto hoy en día porque los datos se encuentran en muchos sistemas
aislados que el aeropuerto no controla.
Escalabilidad: NIA tiene actualmente una instancia de SQL Data Warehouse hospedada
en su centro de datos virtual. El equipo de administración ha sido reacio a invertir
en este almacenamiento de datos porque no contiene todos los datos. Esto hace que
el almacenamiento de datos actual quede obsoleto, porque no ayuda a la empresa
a encontrar la información que el aeropuerto necesita. Además, la instancia actual
de SQL Data Warehouse no tiene la capacidad de ingerir ni almacenar todos los
datos que NIA puede recopilar.
Seguridad: NIA tiene directivas claras y estrictas para proteger sus datos y todos los
datos de sus clientes. El aeropuerto está obligado a obtener las certificaciones ISO/
IEC 27001 e ISO/IEC 27018 para garantizar que las medidas de seguridad se apliquen
correctamente para proteger el aeropuerto, sus proveedores, sus clientes y todas
las partes interesadas. El aeropuerto NIA debe garantizar todos estos requisitos
de seguridad en cualquier solución potencial.
Capacidad de servicio de datos: para que los datos sean útiles, se deben proporcionar
a los usuarios correctos en el momento indicado. El aeropuerto NIA actualmente
entrega avisos y alarmas a los pasajeros mediante anuncios de audio, así como algunos
monitores grandes colocados en algunos puntos de todo el aeropuerto. Esto es muy
poco eficiente, porque genera ruido y no considera el contexto de quién es el usuario
o lo que el usuario quiere saber. El aeropuerto NIA ahora entiende que necesita
aumentar su apuesta no solo en la mejora de los datos y la eficacia de los informes,
sino también en la forma en que estos informes se entregan a los usuarios.
Según estos requisitos, el equipo de inteligencia empresarial del aeropuerto NIA junto
con Zara acuerdan definir la declaración del problema de la siguiente manera:

El aeropuerto NIA pierde más de USD 350 millones al año debido a las ineficiencias
operativas, entre las que se incluyen largas colas, niveles de personal deficientes y
subutilización de los activos del aeropuerto. El equipo de inteligencia empresarial del
aeropuerto NIA trabajará para ofrecer herramientas de análisis de datos (paneles,
informes y aplicaciones) que ayuden a la empresa a optimizar las operaciones
y eliminar las ineficiencias.
136 | Casos prácticos empresariales

Lluvia de ideas para el diseño


Después de definir el problema y articular los desafíos empresariales y técnicos,
las siguientes secciones le ayudarán a llevar a cabo una lluvia de ideas para
encontrar un diseño de solución para el aeropuerto NIA.
Orígenes de datos
Los datos están en el centro de cualquier solución de análisis. Por lo tanto, debe
empezar por pensar en los distintos tipos de datos que necesitaría el aeropuerto NIA.
Luego, debe pensar en un diseño para reunir estos datos. El aeropuerto NIA necesita
recopilar datos de estos orígenes:
• Datos aduaneros: los datos aduaneros contienen información sobre los
pasajeros y las declaraciones que hacen cuando entran o salen del país.
Actualmente, los datos aduaneros están en manos de sistemas externos.
Sin embargo, el aeropuerto puede extraer estos datos e integrarlos en
sus sistemas. El mecanismo actual de integración con el sistema de datos
aduaneros usa un volcado de archivos programado en un servidor de archivos.
NIA puede usarlo para insertar los datos aduaneros en su nueva plataforma.

• Datos de aerolíneas/vuelos: actualmente, los sistemas individuales de


las aerolíneas contienen los datos de los pasajeros, sus viajes, los horarios
de facturación y otros detalles relacionados. Aunque estos datos están en
manos de los sistemas de las aerolíneas, el aeropuerto puede integrarse
con estos sistemas mediante las API de integración. La implementación
específica de esta integración variará en función de cada compañía aérea,
pero el aeropuerto necesita obtener estos datos casi en tiempo real.

• Datos de los sistemas de estacionamiento: el aeropuerto tiene sensores en


todos los estacionamientos que permiten contar los automóviles que entran
y salen. Los sistemas de estacionamiento también tienen una indicación en
cualquier punto dado respecto de cuántas plazas de estacionamiento están
disponibles y dónde. Estos datos se deberán ingerir con otros orígenes.
• Secuencias de video e IoT: el aeropuerto NIA tiene una serie de cámaras de control
de tráfico que hay en todas las instalaciones. Estas cámaras envían transmisión
de video en directo y la sala de control las usa para dirigir recursos y adaptar los
procedimientos operativos para hacer frente al tráfico. El aeropuerto también
tiene sensores de IoT instalados cerca de las puertas de embarque para indicar
el estado de cada una de ellas. También hay sensores que tienen como objetivo
supervisar la distribución del público en el aeropuerto. Los datos de todos estos
orígenes (IoT y cámaras) se pueden transmitir para analizarlos en tiempo real
con el fin de proporcionar a la administración del aeropuerto NIA información
procesable a medida que surgen problemas de tráfico.
• Datos de los sistemas de equipaje: el aeropuerto tiene un sistema interno que
se usa para administrar todos los datos relacionados con los equipajes. Esto
incluye qué equipaje ha llegado, en qué vuelo y dónde está ahora. El aeropuerto
también atiende a las empresas de logística y recibe varios vuelos de carga todos
los días. Es importante recopilar y analizar todos los datos pertinentes para
atender a estas empresas logísticas para la gestión de carga.
Lluvia de ideas para el diseño | 137

• Fuentes de redes sociales: para brindar una buena atención al cliente, es


fundamental para que NIA analice las opiniones y comentarios de los pasajeros
porque se espera que estos compartan sus experiencias en las plataformas
de redes sociales. Esto ayuda a NIA a mejorar sus servicios y abordar
cualquier problema relacionado de inmediato.
• Otros orígenes de datos: como se describe en el Caso práctico 1, es muy
común en el análisis de datos enriquecer los conjuntos de datos existentes
con otros orígenes de datos externos para proporcionar más contexto a las
tendencias o patrones que se identifican. Esto es especialmente cierto para
las operaciones del aeropuerto donde todo puede verse fuertemente afectado
por los datos meteorológicos, las temporadas festivas y otros factores de este
tipo. El aeropuerto NIA tendrá que ingerir muchos de estos orígenes de datos
externos para complementar sus propios datos operativos.

Almacenamiento de datos
El aeropuerto calcula que sus datos actuales ocupan cerca de 310 TB, lo que no incluye
todos los datos de los socios que se deben recopilar y almacenar. A ello se suma que el
aeropuerto tiene como objetivo usar el transmisión de la cámara, así como las fuentes
de las redes sociales. Esto podría agregar 15 GB adicionales de datos por día en función
de las cifras históricas. Esto requiere un servicio de almacenamiento de datos altamente
escalable que pueda adaptarse de manera elástica a los volúmenes que aumentan con
rapidez. Para abordar este requisito, tiene sentido usar un servicio basado en la nube
como Azure Data Lake Storage para garantizar la escalabilidad elástica y la capacidad
de almacenar datos en varios formatos.

Ingesta de datos
Para garantizar que los datos estén a disposición del personal del aeropuerto y de los
clientes de manera oportuna, los datos se deben ingerir de fuentes internas y externas
rápida y eficientemente. En función de los orígenes de datos que se han analizado,
la solución debe atender a varias formas de ingesta de datos. Esto incluye cargar
volcados de archivos, procesar flujos de datos en tiempo real desde redes sociales
y cámaras de control y extraer datos llamando a API externas. El equipo de datos del
aeropuerto NIA puede crear su propia solución de integración e ingesta, la que sería
muy costosa y requeriría mucho tiempo de desarrollo, o bien usar una herramienta
de ingesta y orquestación de datos basada en la nube, como Azure Data Factory (ADF).
ADF optimiza el proceso de ingesta de datos al ofrecer más de 80 conectores de datos
precompilados, que se pueden usar para integrarlos con una variedad de sistemas de
origen, como bases de datos SQL, almacenamiento de blobs y archivos sin formato.
138 | Casos prácticos empresariales

Control de acceso y seguridad


La solución debe proporcionar los controles de seguridad adecuados a la
administración del NIA para poder proteger y asegurar los datos. Es comprensible
que el aeropuerto tenga una larga lista de partes interesadas que necesitan tener
acceso a los datos, incluidos el personal del aeropuerto, los contratistas de seguridad,
la tripulación de las aerolíneas, los pasajeros y los socios. Por lo tanto, la solución
debe permitir que el aeropuerto NIA proporcione seguridad de nivel de fila para
garantizar que los usuarios solo tengan acceso a sus datos. Esto requiere un sistema
de administración de control de acceso detallado que esté integrado en la plataforma
elegida para que el equipo de inteligencia empresarial del NIA no tenga que pasar
demasiado tiempo preocupándose por la seguridad. El equipo de inteligencia
empresarial del NIA debe centrarse en encontrar información que pueda ayudar
a la administración del aeropuerto.

Descubrimiento de patrones e información


Una parte clave de la estrategia de Zara es brindarle a la empresa las herramientas
necesarias para tomar decisiones de manera inteligente. Se supone que esta inteligencia
se adquiere explorando y descubriendo tendencias y patrones en los datos. El principal
desafío aquí es dónde y cómo construir estos modelos de machine learning. La creación
de estos modelos requiere trabajar con muchos conjuntos de datos grandes y un
grupo elástico de recursos informáticos. El equipo reconoce el desafío que se avecina
y busca usar clústeres de Apache Spark administrados para empoderar a sus ingenieros
de datos. El equipo quedó impresionado con la escalabilidad, la seguridad y la amplia
compatibilidad con herramientas y marcos de trabajo de Azure Synapse Analytics.

La solución
Zara, la directora de informática del aeropuerto CIO, con la ayuda del equipo de
inteligencia empresarial, acordó usar Microsoft Azure como proveedor de nube
para crear la nueva solución. Resumieron su razonamiento de la siguiente manera.

¿Por qué usar Azure en el aeropuerto NIA?


• NIA ya usa tecnologías de Microsoft como Windows 10, Office 365 y otras
herramientas. Azure tiene una mejor integración nativa con todos estos servicios
que cualquier otro proveedor de nube. Por lo tanto, usar Azure es la opción
más lógica. Además, el aeropuerto NIA quiere aprovechar la iniciativa de datos
abiertos (ODI), que permite que las organizaciones ofrezcan información
excepcional de la empresa al combinar datos de comportamiento, transacciones,
financieros y operativos en un solo almacén de datos. La iniciativa simplifica la
creación de modelos de datos comunes en toda la organización y la desarrollaron
Adobe, Microsoft y SAP en conjunto.
• Usar Azure significa que el aeropuerto NIA puede seguir usando el mismo
servidor de identidad centralizado, que se administra mediante Azure Active
Directory para Office 365. Esto significa una mejor seguridad para NIA
y menos sobrecarga al crear y administrar nuevas cuentas de usuario.
La solución | 139

• Azure tiene más centros de datos regionales que otros proveedores de nube
importantes. Esto significa que Azure puede proporcionar una mayor resiliencia
y disponibilidad del servicio al aeropuerto. Además de eso, Azure es el único
proveedor de nube que tiene un centro de datos regional en África, que es donde
está el aeropuerto. Esto hace que Azure sea la opción perfecta, ya que cumple
con todos los requisitos.
• El equipo de inteligencia empresarial del NIA descubrió que usar Azure es más
rentable que usar otros proveedores de nube. Azure Synapse Analytics es hasta
14 veces más barato que los servicios de AWS o Google, como se explica en el
primer caso práctico. Además, Azure proporciona la capacidad de usar instancias
reservadas para máquinas virtuales e instancias de proceso, lo que puede ofrecer
descuentos aún mayores. Además, al usar el acuerdo empresarial existente del
aeropuerto NIA con Microsoft, NIA puede obtener todavía más descuentos en
todos los precios minoristas de los servicios de Azure. Esto hace que sea muy
difícil justificar la elección de cualquier otro proveedor de nube.
• NIA también consideró el historial de Microsoft en cuanto a las tecnologías para
desarrolladores y la experiencia de los desarrolladores como una gran ventaja
para Azure. Como empresa de desarrollo de software, Microsoft ofrece la mejor
experiencia de desarrollador gracias a su gran cantidad de propiedad intelectual
en este campo. Esto significa que el aeropuerto NIA puede tener una buena
experiencia de desarrollo e implementación al usar Azure.
• Azure ha obtenido más de 30 certificaciones de cumplimiento, incluidas
ISO/IEC 27001 e ISO/IEC 27018, las que también exige el aeropuerto NIA.
Agregue a eso el hecho de que el modelo de negocio de Azure no se basa
en el uso ni la venta de datos de clientes, que forma parte del modelo de
negocio de otros proveedores de nube. Esto proporciona mayores garantías
al aeropuerto y a su junta administrativa con respecto a que sus datos y los
datos de sus clientes están bien protegidos.
• NIA también espera usar Azure Stack, que proporciona al aeropuerto la
capacidad de hospedar aplicaciones y servicios en las instalaciones y en la
nube sin problemas con la misma infraestructura base, que funciona con
Azure y Azure Stack.
• Por último, NIA quiere tener la capacidad de elegir una mezcla de herramientas
open source, PaaS y SaaS. Azure permite a NIA hacer exactamente eso al ofrecer
excelentes servicios de PaaS y SaaS, como Azure Data Lake, ADF y otros, al
tiempo que admite la integración nativa con servicios open source como
Azure Synapse Analytics.
140 | Casos prácticos empresariales

Arquitectura de la solución
Ahora que el equipo de BI ha perfeccionado los requisitos y se eligió una plataforma en
la nube, es el momento de crear un diseño seguro y escalable. El equipo de inteligencia
empresarial del NIA se dedicó a la siguiente arquitectura de solución:

Figura 4.6: Arquitectura de solución para el aeropuerto NIA

El diseño de la Figura 4.6 muestra la arquitectura de la solución y el flujo de datos entre


los componentes individuales. Aquí se explica cada uno de los segmentos de flujo de
trabajo marcados (numerados) en el diagrama:
1. Los datos estructurados, como los datos de las aerolíneas, los datos aduaneros
y los datos relacionados con los equipajes se ingieren mediante Azure Data
Factory. Esto incluye otros orígenes de datos, como los datos de los sistemas de
estacionamiento y los datos meteorológicos. ADF le brinda al aeropuerto NIA la
capacidad de configurar un entorno de ejecución de integración que se puede usar
como gateway para conectarse a los orígenes de datos locales de NIA desde Azure.
2. Todos los datos no estructurados, incluidos los datos de los sensores de IoT, la
transmisión de video de tráfico y las fuentes de redes sociales, se ingerirán con
Azure Event Hub, que proporciona captura de datos directa a Azure Data Lake
Storage Gen2.
Arquitectura de la solución | 141

3. Azure Data Factory inserta los datos estructurados ingeridos en Azure Data Lake
Storage Gen2 para su almacenamiento.
4. El equipo de datos de NIA está adoptando Azure Event Hub para ingerir datos de
transmisión y capturar de forma fácil y rápida los datos ingeridos en Azure Data
Lake Storage Gen2. El equipo aprovecha la función de captura de datos de Azure
Event Hub para almacenar los datos en el lago de datos.
5. Con los cuadernos, los ingenieros de datos de NIA pueden leer, limpiar, transformar
y modelar los datos mediante el tiempo de ejecución de Apache Sparks en Azure
Synapse Analytics.
6. Luego, los datos limpios que ya están listos para su consumo se insertan en Azure
Cosmos DB desde Azure Synapse. Esto incluye los datos de vuelo y los datos de
equipaje más recientes. Las API y las aplicaciones aeroportuarias pueden extraer
estos datos directamente de Cosmos DB para atender a los pasajeros y al personal.
7. Power BI también está configurado para leer conjuntos de datos más extensos
directamente desde Azure Synapse. Algunos ejemplos de los datos que se
insertarán con este mecanismo son los resultados de la descodificación de la
transmisión de videos del tráfico para crear mapas de calor de las personas.
8. Azure Machine Learning se usa para administrar los modelos de machine learning,
los conjuntos de datos, los experimentos y las imágenes del nuevo modelo. Azure
Machine Learning tiene integración nativa con Azure Synapse Analytics.
9. Azure Machine Learning se usa para entrenar y crear sus modelos de machine
learning. Los modelos resultantes se almacenan como imágenes de Docker
en Azure Container Registry. Las imágenes de Docker se usan generalmente
como una forma de empaquetar modelos de machine learning con todas sus
dependencias (bibliotecas, código fuente y archivos de configuración) como
un único paquete implementable. Esto mejora el ciclo de vida del desarrollo
y reduce los errores de implementación.
10. Azure Kubernetes Service está configurado con la implementación para tomar
las nuevas imágenes del modelo de machine learning de Azure Container Registry
y ejecutar estos modelos como pods de Kubernetes. Esto hace que los modelos de
machine learning estén disponibles para generar predicciones realizando llamadas
HTTP sencillas. Algunos ejemplos de los modelos de machine learning son un motor
de recomendación para las asignaciones de puertas de embarque y un modelo
de machine learning de previsión de la demanda de estacionamientos.
142 | Casos prácticos empresariales

11. El equipo de inteligencia empresarial de NIA puede implementar los nuevos


modelos de machine learning a través de aplicaciones web que se pueden
almacenar en Azure Kubernetes Service. Luego, estas aplicaciones web pueden
interactuar con Azure Cosmos DB para guardar los datos de inferencia de machine
learning (como las acciones que se recomiendan al personal del aeropuerto), así
como brindar datos seleccionados, como los datos sobre equipajes y horarios de
vuelos. Ejemplos de estas aplicaciones web son Passengers Hub y Airport Brain.
Passengers Hub está diseñado para ser el único portal central para entregar los
datos de todos los pasajeros, que incluyen información como detalles de vuelo,
números de puerta de embarque, mostradores de facturación y recomendaciones
al pasajero. Los pasajeros pueden descargar la aplicación móvil del aeropuerto
para ver toda esta información en sus dispositivos móviles. Airport Brain es el
nombre del nuevo portal central para el personal de administración del aeropuerto.
El objetivo es proporcionar a la administración del aeropuerto NIA las herramientas
para permitir operaciones eficientes. El portal usa los datos para proporcionar
recomendaciones sobre las asignaciones de puertas de embarque, los niveles
de personal y la distribución de los activos aeroportuarios.
12. Tanto Passengers Hub como Airport Brain usan los datos seleccionados que
están almacenados en Azure Cosmos DB. Azure Cosmos DB también se usa para
almacenar tipos de datos específicos de la aplicación, como las sesiones y las alertas
de los usuarios. Todo esto está habilitado por el motor de consultas ultrarrápidas de
Azure Cosmos DB y una alta capacidad de respuesta.
13. Tanto Passengers Hub como Airport Brain requieren la visualización de datos.
Power BI se usa para compilar estos informes y, luego, usar la característica de
inserción de páginas web de Power BI para presentar estos informes de Power
BI en las nuevas aplicaciones web. Los datos seleccionados incluyen información
relacionada con los pasajeros, como los detalles de los vuelos de los pasajeros,
los retrasos previstos y la información del equipaje.
14. El panel de Power BI atiende informes y objetos visuales que combinan datos
de Azure Cosmos DB con datos seleccionados de Azure Synapse Analytics.

Servicios de Azure
Como con el primer caso práctico, en las secciones siguientes se describirá cada uno
de los servicios de Azure que se muestran en la Figura 4.6. Primero explicarán por qué
se necesita cada servicio, por qué es adecuado para el aeropuerto NIA y, finalmente,
se mostrará un breve ejemplo práctico de la parte fundamental de su implementación.
Para evitar las repeticiones, se omitirán los servicios de Azure que ya se describieron en
el primer caso práctico, a menos que NIA tenga requisitos específicos para ese servicio.
Servicios de Azure | 143

Azure Synapse Analytics


Rol en el diseño
Azure Synapse sirve como la plataforma unificada para el análisis de macrodatos, así
como el almacenamiento de datos. Azure Synapse es necesario para proporcionar
la potencia de proceso que se necesita para procesar datos y fomentar una mayor
colaboración entre las numerosas partes interesadas.

¿Por qué usar Azure Synapse?


Además de todas las ventajas de Azure Synapse que se analizaron en el Caso práctico 1,
Azure Synapse admite varios lenguajes, marcos de trabajo de machine learning (como
TensorFlow y PyTorch) y se integra con muchas herramientas open source. El equipo de
inteligencia empresarial del aeropuerto NIA necesita una plataforma que pueda manejar
cargas de trabajo tanto de ingeniería de datos como de ciencia de datos. Azure Synapse
está diseñado para lograr este propósito al permitir que los ingenieros de datos limpien,
combinen, transformen y validen datos, al mismo tiempo que permiten a los científicos
de datos usar cualquiera de los marcos de trabajo de machine learning populares, como
TensorFlow o PyTorch.

Implementación de ejemplo
El siguiente fragmento de código configura una conexión a Azure Cosmos DB desde un
cuaderno de Spark mediante el conector de Azure Cosmos DB. El siguiente código de
Python tiene un marcador de posición para la clave maestra de la instancia de Azure
Cosmos DB y supone que el aeropuerto NIA tiene una instancia de Azure Cosmos
DB que se llama NIAAnalytics, que tiene una colección denominada flights_data.
El código guarda un DataFrame flights (Spark DataFrame) en Azure Cosmos DB:
# Config to connect to Cosmos db

config = {
"Endpoint": "https://NIAairport.documents.azure.com:443/",
"Masterkey": "{masterKey}",
"Database": "NIAAnalytics",
"Collection": "flights_data",
"Upsert": "true"
}

# Writing flights data from DataFrame to Azure Cosmos db

flightsDf.write.format("com.microsoft.azure.cosmosdb.spark").
options(**config).
save()
144 | Casos prácticos empresariales

Azure Cosmos DB
Rol en el diseño
Azure Cosmos DB tiene dos propósitos principales: almacena todos los datos de
aplicación para aplicaciones como Passengers Hub y Airport Brain y también se usa
para entregar datos seleccionados que están listos para su consumo por parte del
personal del aeropuerto y las partes interesadas externas (como los pasajeros).

¿Por qué usar Azure Cosmos DB?


Hay muchas opciones para almacenar los datos seleccionados del aeropuerto NIA
y los datos de la aplicación. Sin embargo, el equipo de inteligencia empresarial de
NIA decidió elegir Azure Cosmos DB por las siguientes razones:
• Azure Cosmos DB proporciona una distribución global lista para usar, que
resulta ideal para garantizar la disponibilidad y la resiliencia de la plataforma
del aeropuerto NIA. Es comprensible que NIA no pueda permitirse el tiempo
de inactividad, porque atiende a millones de pasajeros durante todo el año. Por
lo tanto, su nueva plataforma debe tener alta disponibilidad que pueda contar
con la tecnología de Azure Cosmos DB.
• La plataforma del aeropuerto NIA debe proporcionar datos casi en tiempo real.
Por lo tanto, es importante reducir la latencia. Azure Cosmos DB permite que
el NIA tenga una latencia de milisegundos de un solo dígito. Esto también se
complementa con el impresionante SLA de Azure Cosmos DB del 99,999 %.
• Como se mencionó anteriormente, el NIA calcula que sus datos actuales ocupan
más de 310 TB, con una tasa de crecimiento de 15 GB al día. Esto todavía no
incluye los datos procedentes de aerolíneas socias y orígenes de datos externos,
como datos meteorológicos y del tráfico. Por este motivo, el equipo eligió Azure
Cosmos DB por su escalabilidad elástica e ilimitada. Azure Cosmos DB brinda
al NIA la escalabilidad que necesita con la opción de pagar solo lo que se usa
en términos de almacenamiento y rendimiento.
• Hoy en día, el aeropuerto tiene varios sistemas internos para contener sus datos
actuales, incluidos los servidores SQL y los servidores MongoDB. El equipo desea
tener una mayor compatibilidad con todos estos sistemas de origen existentes
y permitir que las aplicaciones existentes trabajen con la nueva base de datos
sin tener que hacer ningún cambio. Azure Cosmos DB es la opción perfecta
para este requisito, porque proporciona un motor de varios modelos con un
punto de conexión de API compatible con protocolo de transferencia. Esto
significa que las aplicaciones del aeropuerto NIA pueden conectarse a la misma
instancia de Azure Cosmos DB mediante varios controladores, como MongoDB,
SQL y Gremlin. Esto simplifica el esfuerzo de desarrollo e implementación,
porque usa las mismas API de los controladores y también reduce el costo total
de propiedad debido a la capacidad para la transferencia de conocimiento y la
reducción de la necesidad de una reelaboración.
Servicios de Azure | 145

• Otra característica de Azure Cosmos DB que atrajo al equipo de inteligencia


empresarial del NIA fue la capacidad de hacer análisis operativos en tiempo
real e inteligencia artificial basándose en Cosmos DB. Azure Cosmos DB tiene
una integración lista para usar con Apache Spark y permite ejecutar Jupyter
Notebooks para trabajar con los datos en Cosmos DB directamente sin más
trabajo de desarrollo personalizado ni mayor integración.
• En términos comerciales, Azure Cosmos DB es una opción rentable porque ofrece
al equipo de inteligencia empresarial la flexibilidad y el control que se necesitan.
La belleza de usar Azure Cosmos DB es su capacidad para ofrecer funcionalidad a
escala mundial con la capacidad de controlar el modelo de costos en función del
almacenamiento y del rendimiento que se necesita. Esto significa que, cuando se
ejecuta una actualización en un registro de Azure Cosmos DB, todos los usuarios
del mundo pueden ver esta actualización en cuestión de milisegundos.
• Por último, Azure Cosmos DB es un servicio totalmente administrado, lo que
significa que el equipo del aeropuerto NIA solo tendrá que preocuparse por
los datos que almacena en Cosmos DB sin preocuparse por la infraestructura.
Además, esto permite al equipo comenzar de manera rápida y barata e ir
escalando a medida que se empiezan a incorporar más conjuntos de datos
y demostrar más valor empresarial.

Implementación de ejemplo
Uno de los aspectos buenos de Azure Cosmos DB es su compatibilidad con muchos
modelos y controladores de consulta. Los siguientes fragmentos de código muestran
cómo se puede consultar Cosmos DB mediante SQL o MongoDB. Ambos ejemplos están
escritos en C#:
1. El primer fragmento de código consulta los registros de la tabla passengers y busca
pasajeros llamados Bob. Luego, recorre en iteración todos los resultados devueltos e
imprime el nombre del pasajero en la consola:
var sqlQuery = "SELECT * FROM P WHERE P.FirstName = 'Bob'";
Console.WriteLine("Running query: {0}\n", sqlQueryText);
var queryDefinition = new QueryDefinition(sqlQueryText);
var queryResultSetIterator = this.container
.GetItemQueryIterator<Passenger>(queryDefinition);
List<Passenger> passengers = new List<Passenger>();
while (queryResultSetIterator.HasMoreResults)
{
var currentResultSet = await queryResultSetIterator.ReadNextAsync();
foreach (Passenger p in currentResultSet)
{
passengers.Add(p);
Console.WriteLine("\tRead {0}\n", p);
}
}
146 | Casos prácticos empresariales

2. El segundo fragmento de código realiza una consulta similar, pero usa la API de
MongoDB. Crea primero MongoClientSettings y luego MongoClient, que se usa para
obtener una referencia a Azure Cosmos DB. El código supone que los valores de
configuración ya están configurados. El código crea una referencia a (NIAAnalytics)
del aeropuerto NIA y consulta passengerCollection:
var settings = new MongoClientSettings();
MongoClient client = new MongoClient(settings);
var dbName = "NIAAnalytics";
var collectionName = "Passengers";
var database = client.GetDatabase(dbName);
var passengerCollection = database.
GetCollection<Passenger>(collectionName);
passengers = passengerCollection.Find(new BsonDocument()).ToList();

Azure Machine Learning


Rol en el diseño
El equipo de inteligencia empresarial del NIA usa Azure Machine Learning para poner
en práctica sus modelos de machine learning. Para optimizar la asignación de recursos,
el equipo necesita crear varios modelos de machine learning para predecir la cantidad
de pasajeros y crear una recomendación para la asignación de puertas de embarque.
Azure Machine Learning proporciona al equipo de inteligencia empresarial una manera
coherente y reproducible de generar modelos de machine learning, al tiempo que
realiza un seguimiento de todos los experimentos de machine learning, los conjuntos de
datos y los entornos de entrenamiento de machine learning al mismo tiempo. Esto es
fundamental para cualquier implementación del modelo de machine learning donde la
capacidad de explicación es un requisito básico para los clientes y las partes interesadas.

¿Por qué Azure Machine Learning?


• Azure Machine Learning permite que el NIA optimice y acelere todo el ciclo
de vida del machine learning, desde la limpieza de datos y la ingeniería de
características hasta la creación y validación de modelos. Azure Machine
Learning facilita la automatización de muchas partes de la canalización.
Esto a su vez disminuye la sobrecarga, mejora la calidad y permite que
el equipo del aeropuerto NIA innove más rápidamente.
• El control de versiones y el mantenimiento de varias instantáneas de conjuntos
de datos es una práctica común al crear y experimentar con modelos de machine
learning. Puede ser un proceso muy tedioso y confuso mantener varias versiones
de los mismos conjuntos de datos. Azure Machine Learning proporciona un
conjunto completo de características que tienen como objetivo ayudar a los
clientes, como NIA, a afrontar este desafío. Los conjuntos de datos de Azure
Machine Learning permiten que en el aeropuerto NIA hagan un seguimiento
de los conjuntos de datos, creen versiones de ellos y los validen de manera
sencilla, como se puede ver en la sección Implementación de ejemplo.
Servicios de Azure | 147

• Parte del desafío para cualquier equipo de análisis avanzado es encontrar el


algoritmo adecuado para crear un modelo de machine learning. El equipo de
inteligencia empresarial de NIA no solo necesita elegir el algoritmo correcto, sino
que también necesita ajustar cualquier hiperparámetro. Azure Machine Learning
automatiza todo este proceso para que cualquier analista de datos pueda ser un
científico de datos. Azure AutoML permite al equipo de inteligencia empresarial
del NIA automatizar el proceso de creación de modelos de machine learning
de manera rápida, fácil y barata.
• La compatibilidad también es otra gran ventaja de Azure Machine Learning.
Azure Machine Learning se integra muy bien con herramientas open source
como Apache Spark en Azure Synapse. También permite que el NIA use cualquier
marco de machine learning (como TensorFlow y PyTorch), al mismo tiempo
que aprovecha al máximo Azure Machine Learning.
• Azure proporciona a organizaciones como el aeropuerto NIA todas las
innovaciones revolucionarias más recientes en datos e IA. Uno de estos avances
es el concepto de abstraer la informática de los datos reales y su canalización.
Esto permite al equipo de inteligencia empresarial de NIA escribir su código una
vez y ejecutarlo en cualquier proceso. Esto incluye el código de la transformación
de los datos y el código del modelo de machine learning. El equipo de NIA puede
crear su modelo de machine learning, ejecutarlo localmente en sus máquinas de
desarrollo y, cuando esté listo, mover ese código para que se ejecute en la nube.
Esto proporciona a los desarrolladores y organizaciones una gran flexibilidad en
términos de desarrollo y costos operativos. El aeropuerto NIA puede pagar solo
el proceso que usa y solo ejecutar el entrenamiento de los modelos de machine
learning en la nube cuando se necesitan grandes recursos informáticos.
• La directora de informática del NIA cree firmemente en DevOps y en las ventajas
que aporta a una organización. La compatibilidad con los procesos de DevOps
fue un factor importante a la hora de decidir elegir Azure Machine Learning.
Azure Machine Learning tiene integración nativa con Azure DevOps, lo que
permite al NIA crear e implementar con facilidad modelos de machine learning.
• La seguridad, la capacidad de reproducción y la gobernanza son preocupaciones
importantes para cualquier equipo de análisis avanzado. Microsoft Azure aborda
todo esto de manera agradable y elegante a través de la integración nativa con
otros servicios de Azure probados para las empresas. Azure Machine Learning
ofrece integración lista para usar con Azure AD y Azure Monitor. Además, con
plantillas de Azure Resource Manager y Azure Blueprints, organizaciones como
el aeropuerto NIA pueden aplicar normas y gobernanzas adecuadas.
148 | Casos prácticos empresariales

Implementación de ejemplo
Azure Machine Learning facilita crear versiones, hacer seguimiento y trabajar con varias
versiones de un conjunto de datos para el machine learning. En el siguiente fragmento
de código se crea primero un almacén de datos para indicar a Azure Machine Learning
dónde debe almacenar los datos:
# creating a ref to Azure ML Service Workspace
import azureml.core
from azureml.core import Workspace, Datastore
ws = Workspace.from_config()
# Registering Azure Blob container as the datastore
datastore = Datastore.register_azure_blob_container(workspace=ws, datastore_
name='NIA_airport_datastore',
container_name='NIA_Analytics',
account_name={storageAccount},
account_key={storageAccountKey},
create_if_not_exists=True)
# get named datastore (if exist)
datastore = Datastore.get(ws, datastore_name='NIA_airport_datastore')
El fragmento de código anterior escrito en Python crea primero un espacio de trabajo de
Azure Machine Learning a partir de un archivo de configuración existente. A continuación,
el código crea un almacén de datos al registrar un contenedor Azure Blob como almacén
de datos. El ejemplo asigna el nombre NIA_airport_datastore al almacén de datos y tiene
marcadores de posición para la clave y el nombre de la cuenta de Azure Storage. Por último,
el ejemplo crea una referencia a un almacén de datos que ya existe con su nombre.
El siguiente fragmento de código registra un nuevo conjunto de datos y proporciona un
nombre, una descripción y una etiqueta para facilitar la búsqueda de este conjunto de
datos en el futuro:
passengers_ds = passengers_ds.register(workspace =ws,name='passengers_
dataset',description = 'passengers personal data and address',tags =
{'year': '2019'})

El siguiente fragmento de código recupera un conjunto de datos existente por nombre


o el ID de la versión. Esto es muy útil cuando tenemos varias versiones del mismo
conjunto de datos:
#get Passengers dataset by name
passengers_ds = ws.datasets['passengers_dataset']
# get specific version of the passengers dataset
passengers_ds = ws.datasets['passengers_dataset']
passengers_ds_v3 = passengers_ds.get_definition(version_id = 3)
Servicios de Azure | 149

Azure Container Registry


Rol en el diseño
Azure Machine Learning Services permite al equipo de inteligencia empresarial del NIA
crear sus modelos de machine learning como contenedores estándar que se pueden
ejecutar en cualquier motor de contenedor, como Docker y Kubernetes. El equipo
usa Azure Container Registry para hospedar y compartir de manera segura estos
contenedores de Docker, que contienen sus modelos de machine learning.
¿Por qué usar Azure Container Registry?
• Azure Container Registry permite que el NIA almacene imágenes para todos
los tipos de contenedores. Azure Container Registry abstrae el hospedaje de
las imágenes de la implementación de estas imágenes en los distintos destinos
de implementación, como Docker Swarm y Kubernetes. Esto permite que el
NIA use un registro de contenedor (Azure Container Registry) para hospedar
imágenes para todos los tipos de contenedores.
• Azure Container Registry se basa en las funcionalidades de los registros de
contenedor estándar. Por ejemplo, Azure Container Registry se integra con
Azure AD para mejorar la seguridad. Además, Azure Container Registry
proporciona una forma sencilla de integrarse con acciones de contenedor
mediante los desencadenadores. Por ejemplo, el NIA puede configurar un webhook
para desencadenar Azure DevOps Services cuando se agrega una nueva imagen
a Azure Container Registry.
• Azure Container Registry es totalmente compatible con Docker Registry
v2 estándar. Esto significa que el equipo del NIA puede usar las mismas
herramientas de la interfaz de la línea de comandos (CLI) open source
de Docker para interactuar con ambos registros (Azure Container Registry
y Docker Registry v2).
• Azure Container Registry admite la replicación en varias regiones. Esto
resulta atractivo para el aeropuerto NIA, porque ayuda con dos cosas. En
primer lugar, reduce la latencia y el costo de la red al mantener el registro del
contenedor cerca de los destinos de implementación. En segundo lugar, mejora
la continuidad empresarial y la recuperación ante desastres, ya que el mismo
registro de contenedor se replica en varias regiones.
150 | Casos prácticos empresariales

Implementación de ejemplo
El código siguiente es parte de la plantilla de Azure Resource Manager (ARM) que
el aeropuerto NIA usa para crear la instancia de Azure Container Registry. Crea una
instancia de Azure Container Registry (nivel estándar) en el centro de datos de la
región Norte de Sudáfrica de Azure. La plantilla también permite que la cuenta de
usuario administrador administre el registro. La plantilla de ARM tiene dos parámetros:
uno para el nombre del registro y el otro, para la versión de la API de ARM:
{ "resources": [
{
"name": "[parameters('registryName')]",
"type": "Microsoft.ContainerRegistry/registries",
"location": "South Africa North",
"apiVersion": "[parameters('registryApiVersion')]",
"sku": {
"name": "Standard"
},
"properties": {
"adminUserEnabled": "True"
}
}
]
}

Azure Kubernetes Service


Rol en el diseño
Azure Kubernetes Service (AKS) se usa para ofrecer modelos de machine learning
como API de consumo. Un ejemplo de estos modelos de machine learning es un modelo
que predice el movimiento de las personas por todo el aeropuerto. El equipo entrena
estos modelos con datos históricos en Azure Synapse. A continuación, con Azure
Machine Learning, el modelo se inserta como una imagen de Docker. AKS ejecuta estos
modelos y otras aplicaciones, como Passenger Hub. Además, AKS ayuda a administrar
la detección de servicios de estas aplicaciones, proporciona mecanismos de escalado
automático y facilita las directivas de recuperación automática para controlar errores
y fallos.
Servicios de Azure | 151

¿Por qué usar AKS?


• La administración de un clúster de equipos es una tarea difícil y es aún más
difícil administrar y configurar un clúster de Kubernetes. Esto se debe a que
Kubernetes tiene muchas partes móviles y requiere mucha configuración.
AKS simplifica esto al ofrecer un clúster administrado. Esto significa que
Microsoft Azure administra los nodos maestros y el equipo del NIA solo tiene
que configurar y usar los nodos subordinados para implementar sus cargas
de trabajo. Esto reduce significativamente la sobrecarga del NIA.

• Mediante conceptos como nodo virtual y kubelet virtual, AKS permite


que el aeropuerto NIA aprovisione más capacidad de manera elástica en
cualquier momento. Esto es importante para el NIA porque es muy difícil
predecir la carga y la capacidad necesarias y, por lo tanto, es importante
tener este aprovisionamiento elástico cuando sea necesario.
• La compatibilidad y la integración nativas con AKS en Azure DevOps es
otra ventaja de AKS. Esto simplifica la configuración y automatización de las
implementaciones de las cargas de trabajo del NIA en AKS. AKS también tiene
integración nativa con servicios como Azure Monitor y Azure Key Vault.
• El equipo de NIA puede mejorar y acelerar la experiencia de desarrollo integral
con la compatibilidad de Visual Studio Code con AKS.

• Además de la integración nativa con otros servicios de Azure, AKS se integra muy
bien con Azure Active Directory. Esto significa que el NIA puede aprovechar esta
integración para mejorar la seguridad. Además, el aeropuerto NIA puede usar
Azure Policy para aplicar la gobernanza en toda la organización.
• Azure proporciona una gran compatibilidad con herramientas open source
como Kubernetes no solo en la nube, sino también en el perímetro. El equipo
del aeropuerto NIA entiende que hay escenarios en los que insertar informática
en el perímetro podría ser la mejor opción. Un ejemplo de esto es su plan
de insertar modelos de machine learning cerca de las cámaras de control de
tráfico para desencadenar alertas cuando se produce un evento de seguridad.
Microsoft Azure tiene una buena compatibilidad para ejecutar Kubernetes en
Azure IoT Edge en estos escenarios. Por lo tanto, el uso de AKS será una buena
opción para los planes futuros de insertar modelos de machine learning en
el perímetro mediante Kubernetes con Azure IoT Edge.

Implementación de ejemplo
El siguiente fragmento de código forma parte de la canalización de Azure DevOps
Services del aeropuerto NIA que implementa la nueva aplicación web Airport Brain.
El código aprovecha la compatibilidad de Azure DevOps con Kubernetes al usar el
tipo de tarea KubernetesManifest. La tarea implementa la imagen de Docker de nia/
aiportbrain:lastest en el AKS preconfigurado mediante el uso de NIAairport_
AksServiceConnection. El código siguiente tiene un marcador de posición para
imagePullSecret, que se usa como el mecanismo de autenticación para insertar
imágenes de Azure Container Registry en el destino de la implementación (AKS):
152 | Casos prácticos empresariales

steps:
- task: "KubernetesManifest@0"
displayName: "Deploy AirportBrain to K8s"
inputs:
action: deploy
kubernetesServiceConnection: "NIAairport_AksServiceConnection"
namespace: "airportbrain"
manifests: "manifests/deployment.yml"
containers: 'nia/airportBrain:latest'
imagePullSecrets: |
$(imagePullSecret)

Power BI
Rol en el diseño
Parte de la estrategia de Zara para los informes del aeropuerto NIA es tener Power
BI como la herramienta de visualización dentro de NIA. Power BI se puede usar
para generar informes y paneles y para fines de autoservicio. El equipo de BI espera
aprovechar también la capacidad de Power BI para integrarse en otras aplicaciones
web para reutilizar las visualizaciones de Power BI dentro de otras aplicaciones
nuevas, como Passenger Hub.
¿Por qué usar Power BI?
Además de todas las ventajas de Power BI que se mencionaron en el Caso práctico 1, los
informes y paneles de Power BI se pueden insertar en otras aplicaciones web. El equipo
de inteligencia empresarial del NIA quiere aprovechar la simplicidad y la eficacia de
los objetos visuales de Power BI para crear los paneles para las aplicaciones Passenger
Hub y Airport Brain. Con los informes de Power Bi integrados, el equipo de inteligencia
empresarial del aeropuerto NIA crea y envía informes de manera rápida y sencilla,
al mismo tiempo que los brinda de forma segura a través de las nuevas aplicaciones
web del aeropuerto.
Implementación de ejemplo
En Power BI, puede insertar cualquier informe de Power BI dentro de cualquier página
web. En el servicio de Power BI, mientras muestra el informe, haga clic en la opción
Share (Compartir), seleccione Embed report (Insertar informe), seguido del sitio
web o el portal. Esto crea un cuadro de diálogo que incluye el código de inserción
que se utilizará en el sitio web o portal de destino:
Servicios de Azure | 153

Figura 4.7: Crear un código para insertar

El cuadro de diálogo mostrará un código iFrame HTML que se puede utilizar


en cualquier página web HTML. El cuadro de diálogo siguiente permite que los
miembros del equipo del aeropuerto NIA configuren las propiedades del código
iFrame, como width (ancho) y height (alto). Luego, con el código iFrame, el informe
se puede insertar en cualquier aplicación web:

Figura 4.8: Configurar las propiedades de iFrame


154 | Casos prácticos empresariales

Servicios de soporte
El aeropuerto NIA quiere asegurarse de que la nueva solución es segura y escalable
y tiene un buen nivel de supervisión y soporte. Azure tiene muchos servicios que
permiten a organizaciones como el NIA proteger, escalar y supervisar sus soluciones.
Esto incluye todos los servicios mencionados en el primer caso práctico, como Azure
DevOps, Azure Key Vault y Azure Monitor.

Conocimientos y acciones
Azure ayudó al aeropuerto NIA a obtener conocimientos importantes después del análisis
e implementar las medidas necesarias, tal como se describe en las secciones siguientes.

Reducción de los retrasos de los vuelos en un 17 % con el análisis


predictivo
Descripción: mientras realizaba el descubrimiento y la exploración de datos iniciales,
el equipo de inteligencia empresarial del NIA descubrió que la asignación ineficiente
de las puertas de embarque era un factor importante en los retrasos de los vuelos. Los
retrasos en los vuelos tienen un efecto dominó, porque un retraso en un vuelo puede
afectar al siguiente vuelo y al que viene después de ese. También hay que considerar la
experiencia negativa del pasajero que se genera. Actualmente, la asignación de puertas
de embarque en el aeropuerto NIA se basa en la capacidad de la sala de espera y en
la capacidad máxima de los aviones. Esto supone que todos los vuelos están llenos,
lo que no es necesariamente cierto.

La combinación de datos meteorológicos, datos de tráfico de la ciudad, datos de


retrasos de vuelo históricos y otros orígenes permitió que el equipo de inteligencia
empresarial produzca un mejor motor de recomendaciones para la asignación de
puertas de embarque. El nuevo motor de recomendaciones, que se construyó mediante
el machine learning, examina los datos contextuales (clima y tráfico) y los datos
históricos para calcular la cantidad de pasajeros de un vuelo determinado y asignar una
puerta de embarque en consecuencia. Durante el modelado y la validación iniciales, el
equipo encontró que la implementación de un motor de recomendaciones de este tipo
en la aplicación Airport Brain puede reducir los retrasos de los vuelos en un 17 %.

Valor empresarial estimado: USD 14,7 millones al año


Orígenes de datos clave: datos de vuelos de las aerolíneas, datos del aeropuerto
(diseño y puertas de embarque), datos meteorológicos, datos sobre el tráfico
de la ciudad, calendarios escolares y calendario de feriados.

Acciones: el equipo de inteligencia empresarial del aeropuerto NIA implementó la


solución con la arquitectura que se muestra en la Figura 4.6. Como resultado de esta
solución, la administración del aeropuerto ahora tiene una nueva herramienta como
parte del portal nuevo (Airport Brain) para brindar recomendaciones en tiempo real
sobre la asignación de las puertas de embarque. Esto mejora la eficacia y reduce
la sobrecarga operativa al excluir supuestos en la planificación y presentación
de decisiones operativas que se toman sobre la base de hechos y ciencia.
Conocimientos y acciones | 155

Canalización de datos: la canalización de datos simplificada para esta iniciativa


se muestra en la Figura 4.9:

Figura 4.9: Canalización de datos para la iniciativa 1

Reducción de la congestión y mejora de las ventas minoristas mediante


la visualización inteligente
Descripción: otro descubrimiento alentador que el equipo de inteligencia empresarial
del NIA encontró fue la correlación entre la hora de llegada de los pasajeros en
automóviles y las colas largas. El equipo descubrió que cuando muchos pasajeros llegan
al aeropuerto más de 4 horas antes de la hora de salida de su vuelo, las colas largas
y el hacinamiento se transformaban en un problema. Esto se puede atribuir al hecho
de que el equipo de administración del aeropuerto no esperaba ni planificaba que
estos pasajeros estuvieran allí en este momento, lo que causaba las largas colas y la
congestión. Otra explicación que uno de los altos directivos del aeropuerto tenía era el
hecho de que estos pasajeros que llegaban temprano se iban directamente a la puerta
de embarque y no a otras instalaciones del aeropuerto.
Por lo tanto, el equipo decidió abordar esta problemática dirigiendo a estos pasajeros
que llegan temprano a otras instalaciones del aeropuerto, como la zona libre de
impuestos, el cine y las áreas de descanso. Sobre la base de las pruebas iniciales,
el equipo estima que esto puede aumentar las oportunidades de venta minorista
en un 11 %, mientras que al mismo tiempo se reduce el hacinamiento en las puertas
del aeropuerto en aproximadamente un 15 %.
Valor empresarial estimado: USD 9,3 millones al año
Orígenes de datos clave: datos de vuelos de las aerolíneas, datos del aeropuerto
(diseño y puertas de embarque), datos meteorológicos, información de los pasajeros,
datos sobre las ventas minoristas en el aeropuerto y calendario de feriados.
156 | Casos prácticos empresariales

Acciones: en función de estos hallazgos, el equipo creó nuevos paneles en la aplicación


Passenger Hub. Cuando los pasajeros llegan temprano y escanean su ID, la aplicación
Passenger Hub les muestra sus detalles de vuelo y los guía a las distintas áreas de
descanso, a las tiendas libres de impuestos y al cine del aeropuerto. El equipo también
uso datos de control de tráfico en tiempo real para crear grandes carteles que se usarán
en pantallas de gran tamaño en todo el aeropuerto para que los usuarios puedan verlos
sin siquiera buscarlos.
Canalización de datos: la canalización de datos simplificada para esta iniciativa
se muestra en la Figura 4.10:

Figura 4.10: Canalización de datos para la iniciativa 2

Conclusión
Los aeropuertos tienen operaciones y procedimientos complejos y funcionan las
24 horas del día. Por lo tanto, incluso hacer pequeñas mejoras puede significar grandes
ahorros para el aeropuerto y puede mejorar la seguridad y la satisfacción del cliente.
En las páginas anteriores, se analizó un ejemplo práctico de un gran aeropuerto.
Si bien los nombres son ficticios, muchos de los números discutidos aquí se basan en
un caso práctico real en el que el autor estuvo involucrado. Hemos visto cómo se puede
utilizar el análisis avanzado para mejorar la eficacia y ahorrarle millones de dólares
a una organización. Los datos se pueden utilizar no solo para ayudar a los aeropuertos
a ahorrar en sus costos operativos, sino también para crear una ventaja competitiva.
También se analizó cómo se puede implementar una solución basada en datos
mediante Azure y por qué Azure es la plataforma perfecta para ejecutar estas cargas
de trabajo. Azure es accesible, seguro y proporciona a las organizaciones la capacidad
de ser ágiles y escalables.
Conclusión
5
Hoy en día, los datos son la fuerza motriz detrás del éxito corporativo. Cada
organización está utilizando datos para formular decisiones de negocios. Al usar el
enorme aumento de los datos generados y recopilados por las organizaciones de una
gran cantidad de orígenes de datos (ya sean datos estructurados, semiestructurados
o no estructurados), Azure Synapse Analytics ofrece un servicio de análisis ilimitado
que reúne la ingesta de datos, el almacenamiento de datos empresariales y el análisis
de macrodatos.
La experiencia unificada en Azure Synapse Analytics permite a los clientes crear
soluciones de análisis integrales y realizar la ingesta de datos, la exploración de datos,
el almacenamiento de datos, el análisis de macrodatos y las tareas de machine learning
desde un único entorno optimizado. Azure Synapse ofrece un medio prometedor de
analizar datos para obtener información en tiempo real. Esto es esencial para tomar
decisiones empresariales y derivar estrategias empresariales.
Este libro lo llevó a través de un recorrido en el análisis de la nube con Microsoft
Azure al mostrarle cómo puede crear su almacenamiento de datos con Azure Synapse,
procesar y visualizar datos, y crear soluciones de análisis integrales utilizando
el entorno unificado en Synapse Studio.
158 | Conclusión

En la siguiente sección, recapitularemos el libro, capítulo por capítulo, para recordarle


los materiales y las tecnologías que hemos cubierto.
En el Capítulo 1, Presentación del análisis en Azure, se analizó la importancia del análisis
de datos y se destacaron varias razones por las que Microsoft Azure es una plataforma
ideal para lograr capacidades de inteligencia empresarial en la nube. Hemos hablado
sobre algunos conceptos fundamentales en torno a los macrodatos, el machine learning
y DataOps. Además, pudo conocer algunos de los impulsores comerciales que tuvo
su empresa para adoptar el análisis de datos en la nube. Por último, obtuvo una vista
general de lo que se necesita para tener un almacenamiento de datos moderno.
En el Capítulo 2, Presentación de espacios del espacio de Azure Synapse Analytics
y Synapse Studio, le presentamos la nueva experiencia unificada en el espacio
de trabajo de Azure Synapse y Synapse Studio.
Synapse Studio proporciona un entorno optimizado todo en uno para la preparación
de datos, administración de datos, almacenamiento de datos, análisis de macrodatos
e inteligencia artificial. Ofrece las siguientes características:
• Entornos visuales sin código para administrar canalizaciones de datos.
• Optimización automatizada de consultas.
• Funcionalidad para elaborar pruebas de concepto en cuestión de minutos.
• Consultas on-demand sin servidor.
• Posibilidad de acceder de manera segura a los conjuntos de datos y de usar
Power BI para crear paneles en cuestión de minutos, todo ello mediante
el mismo servicio de análisis.

Aprendió cómo comenzar con Azure Synapse mediante la creación de un espacio


de trabajo a través de nuestra guía paso a paso. También hemos demostrado cómo
puede comenzar a crear su solución de análisis integral con las herramientas de
Synapse Studio. Exploramos algunas de las funcionalidades clave de Azure Synapse,
incluido SQL a petición sin servidor. Con SQL a petición sin servidor, podemos
realizar al instante la exploración de datos y el análisis de datos con la sintaxis
de T-SQL conocida.
 | 159

Para completar el recorrido, también aprendió a:


• Aprovisionar un grupo de SQL, ingerir datos y analizar los datos en el grupo de SQL
• Crear un grupo de Apache Spark, ingerir datos y explorar datos mediante Spark
• Copiar datos a/desde un grupo de SQL y un grupo de Apache Spark
• Extraer datos externos de orígenes de datos vinculados
• Analizar los datos con SQL a petición sin servidor
• Integrar con canalizaciones

En el Capítulo 3, Procesamiento y visualización de los datos, centrado en el lado


analítico del almacenamiento de datos moderno, donde demostramos cómo puede
procesar y visualizar datos mediante Power BI e implementar machine learning. Con
Azure Synapse y Power BI, puede realizar análisis de datos de autoservicio potentes
y personalizables para descubrir y compartir información de datos. Aunque Azure
Synapse es el motor que impulsa estos conocimientos, Power BI es una herramienta de
visualización que permite a los usuarios analizar los datos por sí mismos.
Para obtener análisis avanzados, Azure Machine Learning le proporciona la
infraestructura y las herramientas para analizar datos, crear modelos de datos de
alta calidad y entrenar y organizar machine learning a medida que compila servicios
y aplicaciones inteligentes. La ventaja de usar Azure Machine Learning es que ofrece
la inteligencia predictiva que las empresas necesitan para seguir siendo competitivas.
En el Capítulo 4, Casos prácticos empresariales, se incluían casos prácticos reales
sobre cómo todas estas tecnologías se integran entre sí para proporcionar soluciones
completas de almacenamiento de datos de extremo a extremo. Los dos casos
prácticos empresariales reales de este capítulo demostraron soluciones de alto
nivel con Microsoft Azure. También ilustraron cómo se pueden analizar en Azure
los datos en tiempo real para obtener información significativa y tomar decisiones
empresariales. Las implementaciones de ejemplo y los casos prácticos muestran cómo
las organizaciones reales han utilizado tecnologías de Azure en diferentes sectores
para aprovechar al máximo los datos, lo que le da una idea de cómo puede aprovechar
esta potente tecnología para ayudar a su propia empresa.
160 | Conclusión

Palabras finales
Azure Synapse reúne los mundos del almacenamiento de datos empresariales y el
análisis de macrodatos en una experiencia unificada que le ayuda a acelerar su tiempo
para obtener información. El modelo en la nube para los almacenamiento de datos
modernos no solo es flexible y escalable, sino que también es rentable debido a sus
propiedades elásticas únicas. Las cargas de trabajo de análisis son un escenario
en el que la elasticidad realmente se destaca.
Con Azure Synapse, profesionales de datos de diversos conjuntos de habilidades pueden
colaborar, administrar y analizar con facilidad sus datos más importantes, todo desde un
mismo servicio. La integración de Apache Spark con el eficaz motor SQL de confianza
y la posibilidad de integrar y administrar datos sin necesidad de programar código
demuestran que Azure Synapse está pensado para todos los profesionales de datos.
Ahora que llegó al final de este libro, ya conoce los servicios y herramientas que
necesita para crear su propia solución de análisis de datos completa en Azure. La mejor
manera de comenzar es empezar poco a poco, mediante la integración de algunas
de las tecnologías que este libro ha presentado en su flujo de trabajo existente. Luego,
agregue gradualmente más capacidades en el futuro a medida que sus necesidades
evolucionen.
Le deseamos lo mejor en su viaje al análisis en la nube y el almacenamiento
de datos moderno.
En la siguiente sección, le proporcionamos recursos adicionales para el aprendizaje
adicional.

Para un mayor aprendizaje


• Comience con 12 meses de servicios de Azure gratuitos:
https://azure.microsoft.com/free/synapse-analytics/
• Azure Synapse Analytics:
https://azure.microsoft.com/services/synapse-analytics/
• Kit de herramientas de Azure Synapse Analytics:
https://azure.microsoft.com/resources/azure-synapse-analytics-toolkit/
• Compare el precio y el rendimiento de Azure Synapse Analytics
en comparación con Google BigQuery y Amazon RedShift:
https://azure.microsoft.com/services/synapse-analytics/compare/
• Cuatro pasos para fortalecer el análisis (eBook en PDF):
https://clouddamcdnprodep.azureedge.net/gdc/gdcEbYaLj/original
>
Índice

Acerca de

Todas las palabras clave importantes que se usan en este libro aparecen ordenadas
alfabéticamente en esta sección. Cada una va acompañada de los números de las páginas
donde aparecen.
A apache: 23, 28, 31, 50-52,
65, 91, 93, 117-118, 138,
C
marca abc: 108 141, 145, 147, 159-160 cachés: 125
abstrae: 149 apiversion: 150 almacenar en caché:
acelerar: 2, 89, aplicado: 6, 135 15, 65, 71
94, 146, 160 enfoques: 13-14, 72 campaña: 130
accesible: 2, 4, 8, matrices: 90 capacidad: 18,
12, 18, 89, 118 articular: 106, 110 132-133, 151, 154
accountkey: 120 artificial: 2, 6-8, 67, operador: 134
cuentas: 20, 138 90, 103, 112, 133 cassandra: 10
precisión: 6-9, 16, 94, evaluación: 11 categorías: 5-6, 92, 126
100, 103, 129, 133 activos: 19, 32, 111, 118, central: 112, 114-115,
activar: 64 132-133, 135, 142 119, 127, 142
activo: 10-11, 44, 71-72, 96, asignación: 154 canales: 92, 106-107, 113
115, 118, 125, 128, 138, 151 atributos: 111 chatbots: 26, 92
avanzado: 11, 16, 31, 65, 69, audiencia: 96 clasificado: 11, 20
91, 115, 132, 147, 156, 159 automatizar: 92-94, limpieza: 146
agentes: 7 126-127, 146-147 clics: 19, 28, 32
agregado: 96, 107, 134 automatizado: 8, 91, 158 cliente: 96, 146
alertas: 22, 70, 128, automl: 65, 91, 93-94, 147 clúster: 22, 71, 95, 114, 151
134, 142, 151 autónomo: 16 sin código: 28-29,
algoritmo: 6-7, 91, 94, 147 promedio: 49, 111, 130, 132 60, 158, 160
asignación: 133, 146 azureml: 148 programar: 94, 96
amazon: 160 cognitivo: 7, 89, 92
análisis: 2-4, 6-7, 20, B comando: 93
56, 59, 69, 90-92, 94, commission: 52
back-end: 125
115, 136, 154, 158 confirmar: 64
referencia: 117
analítico: 1-2, 4-5, 7-12, compatible: 111, 118, 149
bigquery: 160
14-17, 20, 22-24, 26-34, competidor: 5, 109
planos: 147
36, 41-43, 50, 59, compilar: 3
compilaciones: 120, 149
64-65, 67-74, 76-77, cumplimiento: 30, 112,
integrado: 69, 74, 77, 95
82-83, 89, 91-96, 115, 119, 125-126, 139
empresa: 1-2, 4-10, 12,
103, 105-106, 112-118, componente: 114
14, 16, 19, 21-22, 24,
128-129, 131-133, proceso: 6, 18, 30,
26, 28-29, 32, 65, 68,
135-139, 141-142, 145, 71, 95, 100-101,
71, 91, 103, 105-106,
147-148, 154, 156-160 138-139, 142, 147
109, 112, 114, 117, 124,
analizar: 3, 13, 15, 17-18, 24, equipos: 68, 95, 151
126, 129-136, 138-140,
28, 50, 56, 59-60, 109, informática: 1, 9,
142-147, 149, 152,
128, 136-137, 159-160 12, 18, 147, 151
154-155, 157-159
anomalías: 5, 20 simultáneo: 23
condiciones: 76,
110-111, 128
configuración: 143, 148 conjunto de datos: descargar: 70, 83
configurar: 63, 101, 122, 4-6, 13, 16, 19, 47, tiempo de inactividad:
140, 149, 151, 153 52-53, 70, 75-77, 13, 15, 144
configurado: 14, 141, 146 79, 82-84, 100, 102, dresner: 1
congestión: 132, 134, 155 109-110, 121-122, 148 controladores: 14,
conectar: 45, 83, 94, 114, almacén de datos: 148 26, 144-145, 158
119-120, 140, 143-144 dateid: 46 impulsar: 7, 14, 16, 157
conexión: 22, 72, 84, dbname: 146 desplegable: 77
122, 127, 143 decidir: 147 libre de impuestos:
conector: 143 predeterminado: 38-39, 133, 155
conectar a través 55-56, 58, 67 dinámico: 7, 20, 65
de: 120, 122 definición: 148
consola: 145 retrasos: 132-135, 142, 154 E
consumidor: 3, 71, 96, 106 eliminar: 15, 103
ecosistema: 3, 67,
contenedor: 93, 95, 97, densenet: 96, 99
89-91, 93
141, 145, 148-151 implementar: 13, 68,
eficiencia: 5, 154, 156
cortana: 7, 26, 92 93-94, 103, 110, 127-129,
elástico: 71, 111, 115,
cosmos: 10, 141-146 142, 147, 152, 154
137-138, 144, 151, 160
cosmosdb: 143 implementación: 30,
integrado: 5, 69, 152-153
covid-: 72, 75, 77, 79, 84, 87 94-95, 127, 139, 141,
codificar: 5
seleccionado: 32, 144, 149, 151-152
encuentro: 64, 71, 105
77, 142, 144 diseñar: 68, 106, 110,
cifrado: 11, 115, 118, 127
personalizar: 23, 69-70, 112-115, 117, 119, 124, 126,
integral: 9-10, 29-30,
125, 140, 145 128, 132, 136, 140, 142,
41, 65, 93-94, 127,
cliente: 1, 6, 11, 16, 19, 30, 144, 146, 149-150, 152
151, 157-159
106-108, 110-111, 114, 116, designer: 94, 96, 99
motor: 28, 96, 117, 141-142,
131-134, 137, 139, 156 escritorio: 24, 67-69,
144, 149, 154, 159-160
personalizado: 3 72, 83, 85-86,
ingenieros: 8, 10, 13, 15,
91-92, 103, 124
D desarrollar: 45, 54, 56,
18, 21-22, 41, 65, 70, 89,
114, 116-118, 138, 141, 143
58, 61, 71, 82, 112, 119
panel: 25, 68-70, 89, empresa: 9, 28, 41, 69-70,
desarrollador: 29, 118, 139
129-130, 142 115, 139, 157, 160
dispositivo: 5, 89, 142
base de datos: 5, 11, 14-19, entidades: 94
devtest: 14
21, 23, 32, 44, 50, 54-56, entradas: 90
digital: 7, 14, 106-107,
70-71, 74-77, 79, 82-83, equipo: 133
110, 113
89-90, 120, 122-123, errores: 20, 128, 141, 150
directamente: 19, 71, 89,
126, 143-144, 146 estimado: 129-130,
93, 108, 141, 145, 155
databricks: 89, 93-95 133, 154-155
mostrar: 56, 72,
centro de datos: 135, evaluación: 100
79, 81, 84, 86
139, 150 eventos: 107
docker: 13, 95, 141, 149-151
dataframe: 53, 143 ejecución: 64, 79
dominio: 114
dataops: 2, 8, 26, 158
ejercicio: 77, 97,
100, 103, 118
H integrado: 32, 41,
65, 69, 117
experimento: 54, 100-102 hadoop: 22 interfaz: 8, 18, 41, 68,
explorar: 8, 16, 22, 28, 41, manejar: 4, 15, 26, 93-94, 119, 149
44, 47, 50, 65, 72, 87, 89, 109, 115, 143
92, 103, 114-115, 124, 135 hardware: 15, 90, 93 J
extendido: 92 hashtag: 130
jupyter: 94-95, 145
extensible: 91 híbrido: 14, 113, 119
justificar: 139
extenso: 141
externo: 69-70, 85, I K
135-137, 144, 159
identificado: 21, 137
kubelet: 151
F identidades: 125
identidad: 10, 92,
kubernetes: 13, 95,
141-142, 149-151
instalaciones: 136, 155 127-128, 138
factor: 5, 7, 147
característica: 23, 64,
iframe: 153
implementar: 30, 87,
L
69, 94-96, 114, 119, 90-91, 103, 112, 128, 159 etiquetas: 6, 70
125, 141-142, 145-146 importar: 84-85, lenguaje: 29, 31, 55-56,
comentarios: 25, 70, 94, 125, 148 58, 92, 108
108, 124, 137 indicadores: 106 diseño: 154-155
nombre de archivo: 20 adquisición: 21-22, 30, 32, learning: 2, 6-8, 10, 13,
sistema de archivos: 121 108, 110, 116-117, 137, 157 16-17, 23, 26, 28-32,
filtros: 23 inherente: 6 65, 67, 70, 89-99,
firewall: 11 entradas: 123, 152 101, 103, 112, 125,
nombre: 145 insertar: 19, 70 131, 138, 141-143,
carpeta: 76 conocimientos: 2, 4-5, 146-151, 154, 157-160
ruta de carpeta: 121 7, 9, 17, 22-23, 28-29, licencia: 72, 124
huella: 14 31-32, 65, 67-68, 86, ciclo de vida: 30
formato: 5, 19-22, 70, 77, 97, 103, 105-109, 119, vinculado: 28, 52-53,
86, 95, 108, 111, 115, 143 126, 128, 131, 134-136, 60, 72-74, 76, 83,
marco de trabajo: 138, 154, 157, 159-160 96, 120-122, 159
89, 91-93 instalado: 9-10, 91, 110, 136 lógico: 14, 60
función: 6, 10 instancia: 4, 6-7, 13-15, lógicamente: 13
funcional: 120 17, 23, 95, 97, 107-108, logística: 5
111, 115, 127-128, 134, poco código: 94
G 143-144, 149-150
integrar: 60-61, 89, 92-93,
gateway: 11, 69, 140
119, 136-137, 149, 159
gigabytes: 5, 14-15, 68, 108
github: 16
M moderno: 2, 4, 7, 15-18,
20-22, 26, 32-33, 67, 70,
O
machine: 2, 6-7, 10, 94-96, 105, 119, 158-160 objeto: 91-92
13, 15-17, 23, 26, 28, mongodb: 10, 20, 144-146 a petición: 68, 158-159
30-32, 65, 67-68, supervisar: 5, 8, 64-65, openrowset: 77
83, 85, 89-101, 103, 71, 94, 112, 127-128, operar: 92
112, 125, 138, 141-143, 147, 151, 154 operación: 132
146-151, 154, 157-159 supervisión: 3, 22, 30, optimizar: 31, 106, 135, 146
administrar: 11, 18, 65, 107, 115, 130, salida: 6-7, 48
22, 28-29, 43, 50, 136-137, 151, 154-155 información general: 90, 98
72, 115, 117, 119-120, multitud: 117, 157
124, 127-128, 136, mysynws: 35, 41 P
141, 150-151, 160
responsable: 110, 147, 150 N paquete: 141
empaquetar: 141
manual: 22, 127
namespace: 152 paralelo: 111, 117
mercado: 1, 4-5, 16, 117, 119
namespaces: 116 parámetro: 5, 150
maestro: 13, 143, 151
nativo: 69, 115, 118, 120, estacionamiento:
masterkey: 143
125, 138-139, 141, 147, 151 136, 140-141
mecanismo: 15-16, 25, 69,
navegar: 7 parquet: 77
94, 115, 136, 141, 151
navegación: 7 pasajeros: 49, 106,
megabytes: 68
navegador: 84 132-138, 141-142,
metadatos: 20
red: 5, 11, 69, 107, 144-146, 148, 154-155
método: 41-42, 83
118-119, 128, 149 contraseña: 38, 122
microsoft: 2, 4, 7-18,
conexión en red: patrón: 6-7, 11, 18, 22, 130
20-22, 26, 28, 30,
3, 15, 38-39 realizar: 10, 13, 19, 22-23,
67-68, 89-90, 92-94,
redes: 11, 14 26, 29-30, 32, 56,
105, 112, 114-115,
aeropuerto nia: 60, 64, 68, 70-72, 85,
118-119, 126, 128,
143, 151-152 89, 93, 96, 157-159
131-132, 138-139, 143,
sin código: 94 petabytes: 4, 12, 14, 16
147, 150-151, 157-160
norte: 132 canalización: 2, 4, 7, 17,
migrar: 7
cuaderno: 53-56, 58, 21-23, 29-30, 32-33,
migración: 14
60-61, 93, 118, 143 60-61, 64-65, 89, 93,
móvil: 1, 4, 8, 14, 19, 25,
número: 2, 20, 49, 87, 96, 99-100, 102, 129-131,
69-70, 89, 91-92,
96, 109-110, 126-128, 146-147, 151, 155-156
106-107, 142
133-134, 136, 146, 154 plataforma: 2, 4, 9-11,
modelar: 2, 21, 23,
numerado: 113, 140 23, 26, 29-30, 67-68,
72, 129, 154
pocas palabras: 6, 28 70, 96, 111-112, 117, 119,
modelos: 5, 7, 15-16, 18, 28,
nytaxiblob: 47 124, 128, 132, 136, 138,
32, 71, 89-95, 100, 112,
140, 142-144, 156, 158
114, 125, 138, 141-142,
directivas: 14, 71, 135, 150
145-147, 149-151, 159
popular: 3, 17, 89, 143
portátil: 93, 95
portal: 34, 41, 71, 97,
119, 142, 152, 154 Q resultados: 5, 8, 18, 20,
29, 32, 34, 50, 54,
powerbi: 88 calidad: 4-5, 109, 114, 56-57, 60, 81, 90,
127, 131-132, 146 112, 130, 141, 145
precompilado: 119, 137
conjunto de resultados: 65
premium: 114, 125 consultas: 23, 31,
59-60, 70-72, 114, comercio minorista:
vista previa: 76 2, 9, 92, 96, 106,
privacidad: 11 117, 145-146, 158
132-133, 139, 155
privado: 11, 14, 118 colas: 110, 132-135, 155
robusto: 4, 9, 16, 71-72
procedimientos: 136, 156 inicio rápido: 34, 36
entorno de ejecución:
proceso: 4, 8, 16, 18, quotechar: 121 117, 120, 122, 140-141
22-23, 32, 67, 91,
107, 109, 131, 137, 142,
146-147, 157, 159
R S
procesar: 2, 4, 8, 10, 13, recaudación: 131 sandbox: 115-116
16, 23, 29, 32-33, 67, ganaderos: 3 escalable: 4, 17, 21, 67,
70, 90, 92, 107, 111, 113, tiempo real: 8, 17, 70-71, 111, 117, 137,
116-117, 120, 137, 159 21, 23, 65, 95, 103, 140, 154, 156, 160
producción: 13-14 105-106, 108-110, escalado: 5, 12-13,
productos: 1-2, 4, 6-7, 130-131, 136-137, 145, 15, 26, 71
9-10, 14-15, 21-22, 24, 154-155, 157, 159 escaneo: 155
26, 29, 67, 93, 106-107, registro: 5, 19, 107, 139, 145 esquema: 18-19, 23,
110-111, 117, 126, 129-130 118, 120-122
recuperación: 18, 30, 149
perfil: 110-111, 129
referencia: 85, 121, 146, 148 pantalla: 84
programa: 6, 106, 110
región: 13, 35, 70, 77, 86 script: 11, 45-48,
pedir: 77, 83 60, 76-78, 80
regiones: 12, 14, 24, 77,
propiedades: 78, 120-122, 112, 119, 125, 149
150, 153, 160 buscar: 3, 34, 72, 92, 97
registro: 35, 148 sección: 4, 17-18, 29,
proteger: 8, 11, 30, 33, 41, 43, 54, 56, 60,
71, 118, 127, 135 registrado: 19, 35
generación de informes: 64, 71-72, 74, 78-79,
protocolo: 22 82, 86-87, 89, 98,
71-72, 107-108, 124, 152
prototipo: 16 126, 146, 158, 160
informes: 23, 25,
proveedor: 2, 15-16, 67-72, 77, 96, 103, seguro: 22, 70, 111, 116,
18, 22, 35, 138-139 127, 140, 154, 156
107, 112-114, 124-126,
aprovisionar: 15, 33, 133-135, 142, 152 seguridad: 11, 30,
43, 50, 60, 65, 71, repositorio: 5, 11, 37-38, 65, 69-71,
151, 158-159 16, 91, 100 95, 115, 118-119, 122,
125-128, 133, 135,
público: 11, 14, 77, 91, solicitudes: 11, 13, 65, 124 138, 147, 149, 151
111, 129, 154-155 recursos: 11-15, 27-28,
30, 44, 59-60, 103, segmentos: 113, 140
pyspark: 55-56, 58
132, 134, 136, 138, seleccionar: 34, 43,
python: 9, 31, 55-56, 45, 48-50, 52-54,
58, 94, 118, 143, 148 147, 150, 158, 160
56, 58, 60-62, 64,
pytorch: 94, 143, 147 70, 76-77, 80-81, 84,
101, 123, 145, 152
selector: 86
sin servidor: 28, 31, 50, consulta sql: 145 113-115, 117-123, 128-129,
59-60, 65, 74, 91, sellos: 19-20 138-139, 141-143,
126, 131, 158-159 estándar: 114, 149-150 147, 150, 157-160
nombre del servidor: 122 instrucción: 47, 77, 135 sintaxis: 158
servidores: 14-15, 107, almacenamiento: 6, 10, sistema: 5, 18-21, 36,
113, 126, 128, 144 15, 18-19, 21-22, 30, 32, 92-93, 110, 114,
servicio: 1-2, 7, 9-11, 36-37, 47, 59-60, 69, 76, 127-128, 136, 138
97, 111, 113-116, 120-121,
13-16, 22-23, 28, 31-32,
65, 68-69, 73-74, 89, 123, 125, 128, 137, T
91-92, 96, 110, 114, 117, 140-141, 144-145, 148 tableau: 24, 118
119-122, 124, 127-128, almacenado: 5, 17-18, nombre de tabla: 123
132, 134, 137, 139, 22-23, 71, 84-85, tablas: 21, 48, 69, 125
141-142, 145, 148, 150, 108, 110, 112, 115-116, tabular: 107, 115
152, 157-158, 160 122, 137, 141-142 taxamount: 47
servicios: 3-5, 7, 9-18, 20,
almacenes: 106, 108-111, taxitrip: 46-49, 55-56
22, 24, 28-30, 32-34,
125, 144-145 técnico: 13, 69, 106-107,
67, 69, 71-72, 89-90,
92-93, 95, 105-106, estrategias: 157 110, 112, 132, 134, 136
109, 112, 114-115, 117, secuencia: 20, 141 tecnología: 3, 8-9, 20, 159
122, 125-128, 131-132, transmisión: 114, tensorflow: 89, 91,
137-139, 142, 147, 149, 136-137, 140-141 94, 143, 147
151, 154, 159-160 optimizar: 131, 146 terabytes: 4-5, 12,
sesiones: 142 cadena: 21 14-15, 108
configuración: 7-8, estructura: 4 probar: 9, 14, 112, 127, 155
15, 74, 92, 101 estructurado: 4-5, 13, kit de herramientas: 160
compartido: 71, 130 18-23, 68, 70, 107-109, tráfico: 5, 7, 96, 136,
fragmento: 121-123, 143, 111, 113, 115, 140-141, 157 140-141, 144, 151, 154-155
145-146, 148, 151 studio: 7, 16, 27-28, 33, entrenamiento: 21,
software: 1, 9, 28, 68, 41-43, 45, 48, 50, 52, 23, 91-92, 100, 112,
93-94, 124, 139 54, 56, 58, 60-61, 124, 146-147
solución: 9-10, 14, 18, 64-65, 67, 71-72, 74, 79, transferir: 22-23,
33, 106, 110, 112-114, 82, 89, 93-95, 98-99, 69, 76, 124, 144
117, 126-129, 132-138, 118, 151, 157-158 transformar: 19, 23,
140, 154, 156, 158, 160 subconjunto: 6 29, 89, 92, 109, 115,
orígenes: 1, 4-5, 14, 16, soporte: 4, 11, 14, 17, 19, 119, 124, 141, 143
18-23, 28-29, 32, 52, 68, 21, 28, 31-32, 65, 69, tránsito: 5, 115
70-71, 84-85, 94, 96, 91-92, 95, 118, 126-127, traducir: 92-93
108-111, 114-115, 119, 125, 138, 147, 151, 154 desencadenador: 62-64,
128-130, 134-137, 140, synapse: 4, 9-11, 14-17, 101, 113, 128, 149, 151
144, 154-155, 157, 159 22-23, 26-39, 41-43,
splunk: 107 45, 48, 50, 52, 54,
grupo de sql: 44-45, 56, 58-61, 64-65, 67,
48, 54-55, 58 70-77, 79, 82-83, 89,
91, 93-96, 103, 106,
U W
unificado: 27-28, 30, almacenamiento: 2, 4,
65, 67, 70-71, 96, 103, 7, 15-18, 22-23, 26-31,
117, 142, 157-158, 160 33, 65, 67, 70-71,
actualizar: 85, 134, 145 94-96, 105, 107, 114,
nombre de usuario: 122 117-119, 135, 157-160
windows: 9, 47, 67-68,
V 72, 77-78, 83, 91,
93, 120, 122, 138
validar: 16, 107, 110, 114, 146
cargas de trabajo: 7, 13,
validación: 127, 146, 154
31, 143, 151, 156, 160
valioso: 4, 107-108
taller: 107
varchar: 46-47
espacio de trabajo: 25, 27,
variable: 6, 13
32-38, 41-43, 65, 69-75,
variedad: 4, 93, 95,
77, 79, 82, 85-86, 88-89,
107, 111, 124, 137
92-94, 96-98, 148, 158
versión: 119, 146, 148, 150
virtual: 9, 11, 13-14,
89, 93, 100-101, 118,
Z
128, 135, 139, 151 comprimido: 115
visualizar: 24, 41, 57, zonificación: 116
67-69, 72, 89, 102,
124, 128, 157, 159

También podría gustarte