Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Has Altaiar
Jack Lee
Michael Peña
Análisis en la nube con Microsoft Azure
Copyright © 2019 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 una 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
Revisores técnicos: Aram Golbaghikoukia y Aaditya Pokkunuri
Editor general: Aditya Datar
Editora de adquisiciones: Alicia Wooding
Editor de producción: Deepak Chavan
Comité editorial: Sonali Anubhavne, Vishal Bodwani, Ewan Buckingham, Megan Carlisle,
Alex Mazonowicz y Jonathan Wray
Primera publicación: octubre de 2019
Referencia de producción: 2071119
ISBN: 978-1-83921-640-4
Publicado por Packt Publishing Ltd.
Livery Place, 35 Livery Street
Birmingham B3 2PB, Reino Unido.
Índice
Prefacio i
En esta sección se presenta brevemente al autor, la cobertura de este curso, las habilidades
técnicas que necesitarás para comenzar y los requisitos de hardware y software necesarios para
completar todas las actividades y ejercicios incluidos.
ii | Prefacio
Objetivos de aprendizaje
Al final de este curso, podrás:
• Explorar los conceptos de los almacenes de datos modernos y las canalizaciones
de datos
• Descubrir diferentes consideraciones de diseño al aplicar una solución de análisis
en el cloud
• Diseñar una canalización de análisis integral en el cloud
• Diferenciar entre datos estructurados, semiestructurados y no estructurados
• Seleccionar un servicio basado en el cloud para tus soluciones de análisis de datos
• Usar los servicios de Azure para adquirir, almacenar y analizar datos de cualquier
tamaño
Audiencia
Si planificas adoptar el modelo de análisis en el cloud para tu negocio, este libro te
ayudará a comprender las consideraciones empresariales y el diseño que se deben tener
en cuenta. Aunque no es necesario, una comprensión básica de los conceptos de análisis
de datos como el streaming de datos, los tipos de datos, el ciclo de vida del machine
learning y los contenedores Docker te ayudarán a aprovechar al máximo el libro.
Enfoque
Análisis en el cloud con Microsoft Azure describe conceptos complejos de una manera
fácil de entender. Además, el libro contiene varias guías de inicio rápido para cubrir los
conceptos principales con experiencia práctica.
iv | Prefacio
Requisitos de hardware
Para lograr una experiencia de alumno óptima, recomendamos la siguiente
configuración de hardware:
Instalación y configuración
Puedes instalar Power BI Desktop y empezar a crear informes interactivos.
Comienza ahora mismo tu recorrido por el análisis en el cloud.
Introducción al
1
análisis en Azure
Según una encuesta realizada por Dresner Advisory Services en 2019, un máximo
histórico del 48 % de las organizaciones afirma que la business intelligence en el cloud
es fundamental o muy importante en el desempeño de sus operaciones empresariales.
El estudio de mercado sobre computación en el cloud y business intelligence también ha
mostrado que los equipos de ventas y marketing obtienen el máximo valor posible de
los análisis.
A medida que las empresas crecen, generan enormes cantidades de datos todos los
días. Estos datos provienen de diferentes fuentes, como teléfonos móviles, sensores del
Internet de las cosas (IoT) y varios productos de software como servicio (SAAS) como
Customer Relationship Manager (CRM). Las empresas y los negocios deben escalar
y modernizar su arquitectura e infraestructura de datos para hacer frente a la demanda
de seguir siendo competitivos en sus respectivos sectores.
2 | Introducción al análisis en Azure
Nota
Puedes obtener más información al respecto aquí.
4 | Introducción al análisis en Azure
A continuación, encontrarás algunos de los mejores casos de uso del análisis de big
data:
• Análisis de las redes sociales: a través de los sitios de redes sociales como
Twitter, Facebook e Instagram, las empresas pueden conocer lo que dicen los
clientes acerca de sus productos y servicios. El análisis de las redes sociales
ayuda a las empresas a dirigirse a su público según las preferencias del usuario
y las tendencias del mercado. Aquí, los desafíos son la gran cantidad de datos
y la naturaleza no estructurada de los tweets y las publicaciones.
• Prevención del fraude: este es uno de los casos de uso más conocidos de big
data. Una de las características destacadas del análisis de big data cuando se
usa para la prevención del fraude es la capacidad de detectar anomalías en un
conjunto de datos. Un ejemplo de esto es validar las 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 y sin sesgo.
Cabe la posibilidad de que el modelo haya sido entrenado solo para un parámetro
específico, como el país de origen del usuario; por consiguiente, el modelo
se centrará solo en determinar patrones en la ubicación del usuario y podría
perderse otros parámetros.
• Optimización de precios: mediante el análisis de big data, puedes predecir
qué puntos de precio generarán los mejores resultados en función de los datos
históricos del mercado. Esto permite a las empresas asegurarse de que sus precios
no sean demasiado altos o demasiado bajos. Aquí, el desafío es que hay muchos
factores que pueden afectar a los precios. Centrarse solo en un factor específico,
como el precio de los competidores, podría, con el tiempo, entrenar a tu modelo
para que solo se centre en esa área, y puede ignorar otros factores como el clima
y los datos sobre el tráfico.
El big data para las empresas y los negocios generalmente va acompañado 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 constantemente.
El Internet de las cosas (IoT)
El IoT desempeña una función vital en escalar la aplicación para ir más allá de tus
orígenes de datos actuales. El IoT es, simplemente, una interconexión de dispositivos
que están integrados para cumplir un único propósito en los objetos que nos rodean
para enviar y recibir datos. El IoT nos permite recopilar constantemente más datos
sobre "cosas" sin codificarlas manualmente en una base de datos.
Un reloj inteligente es un buen ejemplo de un dispositivo de IoT que mide las medidas
vitales de tu cuerpo de forma constante. En lugar de tener un dispositivo de medición
y codificarlo en un sistema, un reloj inteligente te permite registrar tus datos
automáticamente. Otro buen ejemplo es un rastreador de dispositivos para un activo
que captura información acerca de la ubicación, la temperatura y la humedad. Esto
permite a las empresas de logística supervisar sus artículos en tránsito, asegurando la
calidad y la eficiencia de sus servicios.
6 | Introducción al análisis en Azure
A escala, estos dispositivos de IoT generan desde gigabytes hasta terabytes de datos.
Normalmente, estos datos se almacenan en un data lake en un formato sin procesar
y no estructurado, y luego se analizan para obtener conocimiento empresarial. Un data
lake es un repositorio centralizado de todos los datos estructurados, semiestructurados
y no estructurados. En el ejemplo de la empresa de logística que hemos mencionado
anteriormente, se podrían generar patrones (como las mejores rutas de entrega).
Los datos también podrían usarse para comprender anomalías como la fuga de datos
o actividades sospechosas de ser fraudulentas.
Machine Learning e inteligencia artificial
A medida que tus datos crecen en tamaño, se abren muchas oportunidades 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
puedes aprovechar y utilizar con tus datos. Actualmente, desarrollar tu capacidad de
inteligencia artificial y machine learning es relativamente fácil gracias a la disponibilidad
de tecnologías y a la capacidad de escalar tu almacenamiento y computación en el
cloud.
ML e IA son términos que a menudo se mezclan. En pocas palabras, machine learning
es un subconjunto (o aplicación) de inteligencia artificial. El machine learning tiene
como objetivo permitir que los sistemas aprendan de conjuntos de datos anteriores
y se adapten automáticamente sin la necesidad de la intervención de las personas.
Esto es posible gracias a una serie de algoritmos que se aplican al conjunto de datos;
el algoritmo analiza los datos en tiempo casi real y luego presenta posibles acciones
en función de la precisión o la confianza derivadas de la experiencia previa.
El término "learning" (aprendizaje) indica que el programa aprende constantemente
de los datos que se le proporcionan. El objetivo del machine learning es luchar por la
precisión y no por el éxito. Existen dos categorías principales de algoritmos de machine
learning: supervisados y no supervisados.
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 a sí mismo para 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.
El machine learning no supervisado, por otro lado, es cuando dejas que el programa
encuentre un patrón propio sin utilizar ninguna etiqueta. Un buen ejemplo es
comprender los patrones de compra de los clientes al comprar productos.
Obtienes agrupaciones inherentes (agrupación en clústeres) de acuerdo con los
comportamientos de compra, y el programa puede asociar clientes y productos de
acuerdo con los patrones de compra. Por ejemplo, puedes 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 significaría para los usuarios es que cuando
compran un artículo en particular, como un libro, también se anima al usuario a
comprar otros libros que pertenezcan a la misma serie, género o categoría.
DataOps | 7
DataOps
Para ser eficiente y ágil con la implementación del análisis de datos en tu empresa,
necesitas la cultura y los procesos correctos. Aquí es donde entra en juego 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 lograr velocidad y precisión en el análisis de datos.
8 | Introducción al análisis en Azure
DataOps trata sobre una cultura de colaboración entre diferentes roles y funciones. Los
científicos de datos tienen acceso a datos en tiempo real para explorarlos, prepararlos y
servirlos. Los procesos y flujos automatizados resultan valiosísimos para este esfuerzo
de colaboración entre analistas y desarrolladores, ya que proporcionan un fácil acceso
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; normalmente, esto
es posible con el uso de una interfaz de programación de aplicaciones (API). Para
los directores generales, DataOps significa una toma de decisiones más rápida, ya
que les permite supervisar su negocio a nivel general sin tener que esperar a que los
responsables de los equipos les informen sobre ello. En la figura siguiente se intenta
explicar la idea de una cultura colaborativa de DataOps:
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 en función de sus
características y comportamiento), puede obtener mejores conocimientos. Cuando se
dispone de mejores conocimientos, hay puntos de decisión más razonables y prácticos
para las partes interesadas del negocio que minimizan los riesgos y maximizan los
beneficios.
El espectro completo de los servicios de Azure es demasiado amplio para cubrirlo aquí,
por lo que este libro se centrará en el conjunto de productos clave de almacenamiento
de datos y business intelligence: Azure Data Factory, Azure Data Lake, Azure Synapse
Analytics, Azure Databricks, Azure Analysis Services, Power BI y Azure Machine
Learning (consulta el capítulo 2, Crear tu almacén de datos moderno y el capítulo
3, Procesamiento y visualización de datos).
Seguridad
Microsoft considera que la seguridad es la máxima prioridad. Cuando se trata de datos,
la privacidad y la seguridad no son negociables; siempre habrá amenazas. Azure tiene
las funciones 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 el cloud, el Internet público no pueda acceder a los puntos
de datos. Solo los usuarios de la misma red virtual pueden comunicarse entre sí. Para
aplicaciones web, obtienes un firewall de aplicaciones web (WAF) proporcionado
por Azure Application Gateway, que garantiza que solo las solicitudes válidas puedan
acceder a tu red.
Con el control de acceso basado en roles (autorización), puedes estar seguro de que
solo aquellas personas con los roles correctos, como los administradores, tengan
acceso a componentes específicos y a las capacidades de diferentes recursos. Por otro
lado, la autenticación, garantiza que si no tienes las credenciales correctas (como las
contraseñas), no podrás acceder 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. Un almacén de claves
te 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. Al seguir este patrón con el almacén de claves, no es necesario
que codifiques tus secretos y contraseñas en el repositorio de código fuente y scripts.
Azure Synapse Analytics usa ML e IA para proteger tus datos. En Azure SQL, Microsoft
proporciona seguridad de datos avanzada para garantizar que tus datos estén
protegidos. Esto incluye comprender si tu base de datos tiene vulnerabilidades, como
números de puerto, disponibles públicamente. Estas capacidades también te permiten
cumplir con varias normas, como GDPR (Reglamento general de protección de datos),
al garantizar que se clasifiquen los datos del cliente que se consideran confidenciales.
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.
12 | Introducción al análisis en Azure
Escala de cloud
Azure ha cambiado el sector al hacer que el análisis de datos sea rentable. Antes de
la adopción masiva de la computación en el cloud, para planificar el análisis de datos
con terabytes, o incluso petabytes, de datos, tenías que planificar adecuadamente las
cosas y asegurarte de tener el capital para llevarlas a cabo. Esto significa que solo para
empezar se debería contar con una infraestructura inicial muy alta y costes de servicios
profesionales. Pero, con Azure, puedes empezar poco a poco (muchos de los servicios
tienen niveles gratuitos). Puedes escalar tus recursos en el cloud sin esfuerzo hacia
arriba o hacia abajo, dentro o fuera, en cuestión de minutos. Azure ha democratizado
la capacidad de escalado al hacerla económicamente viable y accesible para todos,
como se muestra en la figura 1.3:
Actualmente, Microsoft Azure tiene 54 regiones que admiten 140 países. Algunas
empresas y sectores de negocio requieren que sus datos estén alojados en el mismo
país que las operaciones comerciales. Con la disponibilidad de diferentes centros de
datos en todo el mundo, es fácil expandirse a otras regiones. Este enfoque de múltiples
regiones también es beneficioso en términos de hacer que tus aplicaciones estén
altamente disponibles.
El verdadero poder del cloud es su elasticidad. Esto te permite no solo aumentar los
recursos, sino también reducirlos cuando sea necesario. En la ciencia de datos, esto
es muy útil porque la ciencia de datos conlleva cargas de trabajo variables. Cuando los
ingenieros y científicos de datos analizan un conjunto de datos, por ejemplo, existe
la necesidad de más computación. Azure, a través de Databricks (más información al
respecto en el capítulo 2, Crear tu almacén de datos moderno), te permite escalar según
la demanda. Luego, durante las horas de menor actividad (como de 7 p. m. a 7 a. m. entre
semana y fines de semana), cuando los científicos e ingenieros no necesitan la potencia
de procesamiento para analizar los datos, puedes reducir tus recursos para que no
tengas que pagar por la ejecución de recursos 24/7. Databricks ofrece básicamente
un servicio de "pago por uso" o "pago por lo que usas".
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 te dará
tranquilidad, ya que tu aplicación siempre estará disponible con una cantidad mínima
de tiempo de inactividad.
Existen diferentes 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 se
aumenta de 4 GB de RAM a 16 GB de RAM. Este es un enfoque simple y directo
que puedes adoptar cuando tu aplicación necesita escalarse. Sin embargo, existe
un límite máximo técnico sobre cuánto puede ampliarse una instancia, y es el
enfoque de escalado más costoso.
• Escalado horizontal: es cuando implementas tu aplicación en varias instancias.
Lógicamente, esto significaría que puedes escalar tu aplicación de forma infinita
porque no usas un solo equipo para realizar las operaciones. Esta flexibilidad
también introduce algunas complejidades. Por regla general, estas complejidades
se abordan mediante la realización de diversos patrones y el uso de diferentes
tecnologías de orquestación, como Docker y Kubernetes.
14 | Introducción al análisis en Azure
Con un almacén de datos moderno como Azure Synapse Analytics, tienes algunas
capacidades administradas para escalar, como una capa de almacenamiento en caché
dedicada. El almacenamiento en caché permitirá a los analistas, los ingenieros y los
científicos realizar consultas con más rapidez.
Reducir los costes
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 almacén de datos
on-premises. Las siguientes son solo algunas de las consideraciones de costes:
• El tiempo de espera para la entrega del servidor y los procesos de adquisición
internos asociados
• Redes y otros costes de infraestructura física, como la refrigeración de hardware
y la gestión de inmuebles en centros de datos
• Costes de servicios profesionales asociados con la configuración y el
mantenimiento de estos servidores
• Costes de licencia (si hay)
• La productividad perdida de personas y equipos que no pueden enviar sus
productos más rápido
16 | Introducción al análisis en Azure
Existen muchos patrones y arquitecturas emergentes para el almacén de datos, pero los
más populares son aquellos que admiten la separación de deberes y responsabilidades
en diferentes fases de la canalización de datos (encontrarás más información al respecto
en la sección Crear una canalización de datos).
Para entender lo que significa que un almacén de datos sea moderno, primero debes
comprender cómo se crea y se administra uno tradicional. 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.
Los archivos de imagen y los vídeos se clasifican como datos no estructurados debido
a su naturaleza dinámica. Aunque sus metadatos se pueden considerar "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
puedes examinar estos datos y darles sentido. El ejemplo habitual es el reconocimiento
facial en imágenes o vídeos.
¿Por qué necesitas un almacén de datos moderno? | 21
Adquisición de datos
La adquisición de datos significa transferir datos (estructurados y no estructurados)
desde el origen a su almacenamiento, data lake o almacén de datos.
Esto implicaría algo como que Azure Data Factory (encontrarás más información al
respecto en el capítulo 2, Crear tu almacén de datos moderno) transfiera datos de varios
orígenes, como bases de datos on-premises y productos SAAS, a un data lake. Este paso
te permite administrar tus flujos de trabajo de extracción, transformación y carga
(ETL) y extracción, carga y transformación (ELT) sin la necesidad de la reconciliación
manual.
Crear una canalización de datos | 23
Este no es un proceso de una sola vez. Idealmente, es algo que programas o estableces
que se active para que tu data lake obtenga una instantánea histórica de vez en cuando.
Un ejemplo de esto es una conexión desde tus herramientas de CRM, como Microsoft
Dynamics CRM, a Azure Data Lake a través de Azure Data Factory. Esto permitirá a los
científicos e ingenieros de datos explorar estos datos en diferentes intervalos de tiempo
sin interrumpir la aplicación CRM real.
Almacenamiento de datos
Una vez que los datos se han adquirido de varios orígenes de datos, todos los datos se
almacenan en un data lake. Los datos que residen dentro del lake 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.
Preparación de datos
Una vez que se adquieren 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 fines de análisis de datos. Un ejemplo de esto es consultar datos de una API
e insertarlos en una tabla de base de datos. Azure Data Factory te permite organizar
esta preparación de datos. Azure Databricks también puede ser útil con la preparación
de datos, ya que puede ejecutar clústeres al mismo tiempo para procesar grandes
cantidades de datos en cuestión de segundos o minutos.
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 business intelligence. Herramientas como Power BI
ayudan a los analistas a aprovechar los datos al máximo. La visualización de datos
proporciona una representación rica y elocuente de tus datos que agrega valor
empresarial para ti y tus clientes. El equipo puede ver tendencias, valores atípicos
y patrones que ayudan a tomar decisiones basadas en datos.
Las diferentes partes interesadas de la organización pueden colaborar después
de analizar los diferentes parámetros de rendimiento. ¿Tu empresa vende bien los
productos? ¿En qué regiones obtienes la mayoría de las ventas? Con una gran cantidad
de datos que respaldan tus 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 debes expandir? ¿Dónde deberías
expandirte más? Estas son algunas de las preguntas comunes que puedes responder
una vez que tengas un análisis de datos más rico.
Los analistas pueden usar herramientas de escritorio o aplicaciones web para crear
representaciones elocuentes de sus datos. A continuación, se muestra una vista de
escritorio de Power BI donde un usuario puede realizar un análisis de los datos de su
empresa y visualizarlos en gráficos:
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. A continuación se
muestra 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 ciclo de
comentarios más rápido para los analistas:
Power BI te permite crear paneles personalizados ricos que se adapten mejor a tus
requisitos y a tu marca. En comparación con las presentaciones con una instantánea de
un gráfico de la semana pasada o el mes pasado, este mecanismo te permite actualizar
el mismo informe una y otra vez.
Resumen
En este capítulo hemos establecido la importancia del análisis de datos. También se han
destacado varias razones por las cuales Microsoft Azure es una plataforma ideal para
lograr capacidades de business intelligence en el cloud. También hemos hablado sobre
algunos conceptos fundamentales en torno a big data, machine learning y DataOps.
Además, has podido ver algunos de los motivos empresariales para adoptar el análisis de
datos en el cloud. Por último, has obtenido una vista general de lo que se necesita para
tener un almacén de datos moderno.
En el próximo capítulo, verás cómo comenzar a diseñar un almacén de datos moderno
con Azure Data Factory, Azure Databricks, Azure Data Lake, Azure Synapse Analytics
y tecnologías relacionadas.
Crear tu almacén
2
de datos moderno
En los últimos años, el big data ha adquirido una mayor relevancia en todo el mundo.
Dado el volumen masivo de datos, es necesario disponer de plataformas, herramientas
y almacenamiento especializados para procesarlos y analizarlos.
En el capítulo 1, Introducción al análisis en Azure, pudiste ver una introducción a Azure
y descubrir 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 profundizaremos en cada una de las cuatro tecnologías clave
siguientes:
• Azure Synapse Analytics (anteriormente conocido como Azure SQL Data
Warehouse)
• Azure Data Factory
• Azure Data Lake Storage Gen2
• Azure Databricks
30 | Crear tu almacén de datos moderno
Al final de este capítulo, entenderás mejor cómo puedes usar estas tecnologías para
crear tu propia solución de almacenamiento de datos moderno. Prepárate, pues
estamos a punto de comenzar nuestro recorrido.
Características
Azure Synapse Analytics ofrece las siguientes características:
• Capacidad para ejecutar hasta 128 consultas simultáneamente mediante
procesamiento paralelo masivo (MPP)
• Computación y almacenamiento independientes
• El almacén de datos en el cloud más rentable
• Posibilidad de detener las bases de datos temporalmente y de volver a reanudarlas
en pocos segundos
• Capacidad para crear tus propios trabajos y conectar fácilmente con cualquier
conector para servicios de integración y visualización de datos
• Compatibilidad con la legislación de protección de datos de más de 30 países
de todo el mundo
• Almacenamiento de datos en caché integrado, con consultas de datos
y rendimiento más rápidos
Ventajas
Azure Synapse Analytics te ofrece las siguientes ventajas:
• Escalabilidad sencilla y acorde a las necesidades de tu carga de trabajo
• Rentabilidad gracias al concepto de "pago por uso" de Azure
• Disponibilidad del 99,9 % garantizada
Azure Data Factory | 33
Características
Azure Data Factory ofrece las siguientes características:
• Capacidad para conectarse a diversos orígenes de datos, ya sea on-premises
o en el cloud
• Capacidad para trasladar datos desde almacenes de datos on-premises y en el
cloud a un almacén de datos centralizado de Azure utilizando la actividad de
copia en la canalización de datos
• Adquisición sin necesidad de programar
• Transformación de datos sin necesidad de programar
• Capacidad para procesar y transformar los datos desde un almacén de datos
centralizado de Azure
• Una programación controlada para crear un origen de datos de confianza que los
entornos de producción puedan consumir
• Capacidad para transformar y limpiar datos, y para cargarlos en Azure Synapse
Analytics para que los consuman herramientas de business intelligence y motores
de análisis
• Control de calidad mediante la supervisión continua de canalizaciones
• Características de supervisión integradas como Azure Monitor o Azure PowerShell
para administrar recursos
34 | Crear tu almacén de datos moderno
Ventajas
Azure Data Factory te ofrece las siguientes ventajas:
• Orquestación de otros servicios de Azure. Por ejemplo, Azure Data Factory puede
invocar un procedimiento almacenado en Azure Synapse Analytics o ejecutar
cuadernos de Azure Databricks.
• Totalmente administrado y sin servidor
• Herramienta fácil de usar para la creación de soluciones de integración
• Alta escalabilidad. En la siguiente tabla se muestra la duración de la copia
alcanzada por Azure Data Factory en función del tamaño de los datos y del ancho
de banda:
Figura 2.3: Duración de la copia de ADF según el tamaño de los datos y el ancho de banda
Características
Azure Data Lake Storage Gen2 ofrece las siguientes características:
• Acceso y administración de datos a través de Hadoop Distributed File System
(HDFS)
• Controlador de Azure Blob Filesystem (ABFS), que permite el acceso de datos
a Azure Data Lake Storage Gen2 desde todos los entornos Apache Hadoop,
como Azure Synapse Analytics, Azure Databricks y Azure HDInsight
• Compatibilidad con permisos ACL y POSIX, además de permisos adicionales
de Azure Data Lake Storage Gen2
• Ajustes configurables a través de Azure Storage Explorer, Apache Spark y Apache
Hive
• Escalabilidad segura (y rentable) del almacenamiento en el nivel de archivo
• Capacidades de alta disponibilidad/recuperación ante desastres (HA/DR)
Ventajas
Azure Data Lake Storage Gen2 ofrece las siguientes ventajas:
• Compatibilidad con aplicaciones que implementan el estándar abierto Apache
Hadoop Distributed File System (HDFS)
• Transacciones y capacidad de almacenamiento de bajo coste
Azure Databricks
Azure Databricks es una plataforma de análisis basada en Apache Spark que te permite
implementar soluciones de inteligencia artificial y poner en común conocimientos
desde un espacio de trabajo interactivo. Es compatible con lenguajes como Python,
Java, R, Scala y SQL, así como con diversas herramientas de ciencia de datos, como
por ejemplo TensorFlow, scikit-learn y PyTorch.
Características
Azure Databricks ofrece las siguientes características:
• Espacio de trabajo interactivo y colaborativo.
• Capacidades completas de clúster de Apache Spark con componentes como
Spark SQL y DataFrames, Mlib, GraphX y API de Spark Core.
36 | Crear tu almacén de datos moderno
Ventajas
Azure Databricks ofrece las siguientes ventajas:
• Configuración sencilla de clústeres de Apache Spark totalmente administrados
en Azure.
• Plataforma en el cloud sin administración.
• Espacio de trabajo interactivo y colaborativo para exploración y visualización.
• Creación rápida de clústeres.
• Escalado automático dinámico de clústeres, incluidos clústeres sin servidor.
• Operaciones de clústeres mediante código y API.
• Capacidad para integrar datos de forma segura basada en Apache Spark.
• Acceso instantáneo a las características más actualizadas de Apache Spark con
cada versión.
• Integración nativa con Azure Synapse Analytics, Azure Data Lake Storage,
Azure Cosmos DB, Azure Blob Storage y Power BI.
Nota
En el momento de publicación, Microsoft está trabajando en Azure SQL Data
Warehouse a Azure Synapse Analytics. Por lo tanto, algunos pasos descritos
en esta guía harán referencia al nuevo nombre, Azure Synapse Analytics,
mientras que en otros pasos se utilizará el nombre original, Azure SQL Data
Warehouse. Visita Microsoft Azure para obtener las últimas actualizaciones.
Figura 2.5: Crear un nuevo Azure Synapse Analytics (anteriormente SQL DW)
Guía de inicio rápido | 39
4. Rellena todos los detalles del proyecto en el formulario SQL Data Warehouse,
tal como se muestra en la figura siguiente:
8. Para el recorrido de inicio rápido, define Use existing data (Usar datos existentes)
como Sample (Ejemplo). Esto cargará la base de datos de ejemplo AdventureWorksDW
en el almacén de datos que acabas de crear. Haz clic en Review + create
(Revisar + crear) para continuar.
9. Realiza una revisión final y, a continuación, haz clic en Create (Crear) para
empezar a aprovisionar SQL Data Warehouse:
10. Durante el aprovisionamiento del nuevo SQL Data Warehouse, puedes supervisar
el progreso de la implementación:
Nota
Si recibes un error de tipo "Cannot open server 'mysampledw' requested by
the login. Client with IP address 'xx.xx.xx.xx' is not allowed to access the server"
(No se puede abrir el servidor 'mysampledw' solicitado en el inicio de sesión. El
cliente con la dirección IP 'xx.xx.xx.xx' no tiene permitido el acceso al servidor),
simplemente sigue las instrucciones que se indican en la sección Autorizar tu
dirección IP de cliente para acceder a Azure Synapse Analytics (anteriormente
SQL DW) para agregar tu dirección IP de cliente a una lista blanca. Una vez que tu
dirección IP de cliente se haya incluido en la lista blanca, puedes volver a intentar
el paso 1.
48 | Crear tu almacén de datos moderno
Nota
Cuando Azure SQL Data Warehouse esté en pausa, aunque no se te cobrarán
cargos de proceso, seguirás siendo responsable de los cargos de almacenamiento.
Tras pausar Azure SQL Data Warehouse, su estado se mostrara como "en pausa":
Cuando estés listo para volver a trabajar en Azure SQL Data Warehouse, simplemente
haz clic en Resume (Reanudar):
3. Rellena el formulario New data factory (Nueva factoría de datos) como se muestra
en la siguiente figura:
4. Haz clic en Create (Crear) para empezar a aprovisionar Azure Data Factory.
Ahora que has aprovisionado correctamente Azure Data Factory, el siguiente paso
es aprovisionar Azure Data Lake Storage Gen2. Más adelante podrás integrar ambas
tecnologías en otro ejercicio.
6. Realiza una revisión final y, a continuación, haz clic en Create (Crear) para
empezar a aprovisionar tu cuenta de Azure Data Lake Storage Gen2.
Como has podido ver en las instrucciones paso a paso anteriores, crear una cuenta de
Azure Data Lake Storage Gen2 es tan sencillo como crear una cuenta de Azure Storage.
Guía de inicio rápido | 59
Integrar Azure Data Factory con Azure Data Lake Storage Gen2
Tras haber aprovisionado Azure Data Factory y Azure Data Lake Storage Gen2 en los
ejercicios anteriores, ahora estás listo para integrar ambas tecnologías.
Primer debes adquirir un archivo JSON con Azure Data Factory, y extraer los datos
y transformarlos a un formato de archivo CSV. A continuación, carga el archivo CSV
resultante en Azure Data Lake Storage Gen2.
1. Ve a Azure Data Factory e inicia la aplicación de integración de datos haciendo clic
en Author & Monitor (Crear y supervisar):
La factoría de datos de Azure Data Factory está formada por un conjunto de datos
que, básicamente, son datos estructurados del almacén de datos. Una canalización
incluye actividades conectadas lógicamente para realizar una tarea. Un servicio
vinculado te permite conectar Azure Data Factory a diversos orígenes de datos.
En el paso siguiente, crearás un nuevo servicio vinculado para el nuevo origen de
datos.
4. Haz clic en Create new connection (Crear nueva conexión):
Figura 2.38: Crear el servicio HTTP tras una conexión de prueba correcta
64 | Crear tu almacén de datos moderno
8. Haz clic en el botón Next (Siguiente) hasta llegar a la página de configuración del
formato de archivo:
10. A continuación, haz clic en Create new connection (Crear nueva conexión) para
configurar el Destination data store (Almacén de datos de destino):
11. Selecciona Azure Data Lake Storage Gen2 y haz clic en Continue (Continuar):
12. Selecciona Azure Data Lake Storage Gen2 (aprovisionado en el ejercicio anterior)
en la sección New Linked Service (Nuevo servicio vinculado):
15. Rellena el formulario Choose the output file or folder (Elegir el archivo o carpeta
de salida), como se muestra en la siguiente figura, y haz clic en Next (Siguiente):
16. Rellena el formulario File format settings (Configuración del formato de archivo),
como se muestra en la siguiente figura, y haz clic en Next (Siguiente):
18. Confirma los valores de Settings (Configuración) y haz clic en Next (Siguiente):
Este es el archivo transformado en formato CSV, ahora almacenado en Azure Data Lake
Storage Gen2:
Figura 2.55: Archivo CSV almacenado en Azure Data Lake Storage Gen2
Hasta ahora, has creado tu primera canalización de Azure Data Factory para adquirir un
archivo JSON, extraer los datos, transformarlos a un formato CSV y cargar el archivo en
Azure Data Lake Storage Gen2.
5. Haz clic en Launch Workspace (Iniciar área de trabajo) para iniciar el portal de
Azure Databricks en una nueva pestaña del navegador:
6. A continuación, crea un nuevo clúster Spark haciendo clic en New Cluster (Nuevo
clúster):
7. Rellena la página New Cluster, como se muestra en la siguiente figura, y haz clic en
Create Cluster (Crear clúster):
8. Una vez aprovisionado el clúster Spark, verás una pantalla similar a esta:
Nota
En el script de Scala siguiente, introduce cada bloque de código en la celda
Cuaderno de Azure Databricks y pulsa Mayús+Intro para ejecutar cada bloque de
código. Observa los resultados tras cada ejecución.
Guía de inicio rápido | 81
Resumen
En este capítulo, has estudiado de cerca Azure Synapse Analytics, Azure Data
Lake Storage Gen2, Azure Data Factory y Azure Databricks. Has aprendido las
características y ventajas de cada una de estas tecnologías clave, y cómo aprovisionar
tu propio Azure Synapse Analytics (anteriormente SQL DW). El siguiente capítulo se
centrará en el aspecto analítico del almacén de datos moderno. Te enseñará cómo
procesar y visualizar los datos mediante Power BI, y también cómo implementar el
machine learning. Más adelante en el libro, verá casos de uso reales de cómo todas
estas tecnologías se integran entre sí para proporcionar las soluciones completas e
integrales de almacenamiento de datos que los responsables de la toma de decisiones
empresariales pueden usar para obtener conocimientos de utilidad a partir de datos en
tiempo real.
Procesamiento y
3
visualización de datos
En el último capítulo, aprovisionamos Azure Data Factory, Azure Data Lake Storage
y Azure Synapse Analytics (anteriormente conocido como Azure SQL Data Warehouse)
para adquirir y almacenar datos. También transformamos datos no estructurados a un
formato estructurado con ayuda de Azure Databricks.
En este capítulo, analizaremos nuestros datos estructurados para obtener
conocimientos útiles. Este capítulo estará dividido en dos partes principales:
• Modelado y servicio de datos con Azure Analysis Services
• Visualización de datos con Power BI
88 | Procesamiento y visualización de datos
El modelado de datos semántico es una fase en la que debes crear un modelo de datos
semántico para que los analistas puedan obtener acceso fluido a los datos. Un modelo
de datos semántico es un formato de tabla estructurado y que la mayoría de usuarios
puede visualizar y entender fácilmente. En la práctica, los analistas no consultan bases
de datos transaccionales directamente porque estas bases de datos están destinadas
a los clientes finales reales y a las aplicaciones; en su lugar, crean un modelo de datos
y lo almacenan en el almacén de datos. A menudo, los datos del modelo semántico son
solo una versión almacenada en caché de los datos de producción y, finalmente, se
eliminarán o actualizarán. Azure Analysis Services puede salvar esta brecha de datos.
Azure Analysis Services (AAS) es un servicio hospedado en el cloud y una herramienta
de plataforma como servicio (PaaS) totalmente administrada que permite a los
ingenieros de datos modelar tablas de base de datos y servir estos modelos de datos
semánticos a los usuarios. Un ejemplo sería generar informes de ventas cuando
dispones de varios orígenes de datos y a las partes interesadas solo les interesa saber si
la empresa está ganando o perdiendo dinero. Estos modelos de datos proporcionan una
forma perfecta para que los usuarios (en concreto, los analistas) exploren y examinen
grandes cantidades de datos almacenados en caché con fines de análisis de datos bajo
demanda. Esto garantiza que los analistas no tengan que esperar a que los ingenieros
de datos creen manualmente una instantánea de los datos (a menudo en formato CSV
o Excel) y que luego los envíen a los analistas por correo electrónico.
Azure Analysis Services | 89
Los ingenieros de datos usan herramientas como Visual Studio o SQL Server
Management Studio (SSMS) para crear, explorar y desarrollar modelos de datos
semánticos que luego pueden enviar como informe o como modelos tabulares para
Power BI (u otras herramientas de business intelligence).
Características y ventajas
Azure Analysis Services se basa en el motor analítico probado de SQL Server 2016
Analysis Services. Ejecuta servicios de análisis de forma nativa en recursos en el
cloud tales como Azure Synapse Analytics.
Azure Analysis Services | 91
En el diagrama anterior, AAS actúa como puente entre Azure Synapse Analytics
(utilizado para almacenar datos) y Power BI, que actúa como herramienta de
visualización. Esto no significa que AAS se limite únicamente a usar Azure Synapse
Analytics como origen de datos. AAS puede conectar con diversas soluciones de base
de datos on-premises y en el cloud.
Azure Analysis Services tiene las mismas funcionalidades y capacidades que SQL Server
Analysis Services, pero es un servicio en el cloud totalmente administrado. AAS admite
entornos de modelos complejos, como filtros cruzados bidireccionales. Un ejemplo de
ello sería crear conocimientos útiles a partir de clientes y productos que tienen una
relación de datos de varios a varios; es decir, donde un cliente puede comprar varios
productos y un mismo producto puede ser comprado por varios clientes.
AAS es altamente escalable. Puede escalarse de forma lineal aumentando el número de
núcleos, y también puede usar el asignador escalable basado en Intel TBB (Threading
Building Blocks), que proporciona grupos de memoria independientes para cada núcleo.
Power BI
Power BI es un conjunto de herramientas que permite a los usuarios visualizar datos
y compartir conocimientos entre equipos y organizaciones, o integrarlos en sus
sitios web o aplicaciones. Admite distintos orígenes de datos (tipos de datos tanto
estructurados como no estructurados). Ayuda a los analistas y usuarios finales a crear
paneles e informes en tiempo real sobre los datos de la empresa bajo demanda. Un
ejemplo de ello sería visualizar las ventas de la empresa correspondientes a los últimos
meses y determinar la ciudad que más artículos ha vendido.
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 (por lo general, un
panel en tiempo real) en la que los usuarios no necesitan almacenar con frecuencia
un archivo en su equipo local y abrirlo. Con Power BI, puedes aprovechar el poder del
cloud para explotar datos complejos y representarlos a través de gráficos o diagramas
enriquecidos, dejando que sea el servidor, y no tu propio equipo, el que ejecute todos
los cálculos. En un entorno en que esté previsto que el tamaño de los datos aumente
de 500 megabytes a gigabytes, la mayoría de los equipos de uso general (como
ordenadores personales con una cantidad limitada de memoria) tendrían dificultades
para cargar el archivo de Excel; sin embargo, con Power BI, equivaldría a abrir una
página web, ya que se trata de un servicio hospedado.
Power BI | 93
Power BI Report Server
En un entorno on-premises, Power BI Report Server te permite hospedar informes de
Power BI en tu propio centro de datos. Estos informes siguen pudiendo compartirse
entre distintos miembros, siempre y cuando estos dispongan del acceso de red
adecuado.
Power BI Embedded
Embedded te permite aplicar una marca blanca a Power BI en tus propias aplicaciones
personalizadas. Desde el punto de vista estratégico, estas a menudo se integran en
paneles y sistemas administrativos existentes en los que solo un mismo conjunto de
usuarios puede obtener acceso a los informes.
Características y ventajas
A grandes rasgos, Power BI ofrece las siguientes ventajas:
• Paneles personalizados que permiten a los analistas distinguir el aspecto de los
gráficos, diagramas y tablas.
• Colaboración entre diferentes usuarios.
• Gestión y seguridad que garantizan que solo los usuarios autorizados puedan
acceder a los paneles.
• Sin restricciones de memoria ni de velocidad, ya que se trata de un servicio
hospedado en el cloud. Es como si el usuario se limitara a cargar una página web.
• No precisa 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 función "formular 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 soltar para acceder a los datos y visualizarlos con rapidez. La herramienta
de creación (Power BI Desktop) está equipada con numerosas características integradas
para obtener análisis. Es lo suficientemente inteligente como para sugerir un modelo de
visualización basado en los campos de tu elección.
Los paneles e informes de Power BI son altamente personalizables y te permiten
personalizar la experiencia en función de tu marca. Puedes seleccionar temas, utilizar
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. Puedes acceder a los
informes utilizando los principales navegadores web o a través de aplicaciones móviles
que puedes descargar en Apple App Store y Google Play Store. Los usuarios pueden
enviar comentarios y anotaciones sobre los informes, y crear un ciclo de comentarios
más rápido mediante el uso de alertas y notificaciones.
Guía de inicio rápido (modelado y visualización de datos) | 95
En este libro, usaremos Power BI para generar informes a partir de modelos de datos
semánticos de AAS. Aunque Power BI admite varios orígenes de datos, incluidos Azure
Synapse Analytics y bases de datos on-premises, se recomienda consumir un servicio
de análisis en su lugar. En ocasiones, también puedes realizar consultas desde un
resultado almacenado en caché de Azure Databricks.
Existen varias formas de hacerlo, pero el motivo principal para usar este método
(AAS + Power BI, como se muestra en la figura 3.3) está relacionado en gran parte con
la flexibilidad y la separación de tareas. Si estás usando AAS, obtienes una instantánea
del estado de tus orígenes de datos desde tus flujos de IoT y bases de datos (con ayuda
de ADF, Data Lake, SQL DW). Los datos de la base de datos transaccional de producción
se almacenan en caché y no tendrían un impacto significativo en el rendimiento, ni
siquiera si las bases de datos tuvieran miles de millones de filas.
Requisitos previos
Para realizar esta actividad, necesitas lo siguiente:
• Una suscripción activa a Azure
• Power BI Desktop
• Herramienta de creación (opcional)
• SQL Server Data Tools (SSDT) en Visual Studio
• SQL Server Management Studio
• Azure Synapse Analytics como origen de datos de AAS (opcional)
96 | Procesamiento y visualización de datos
Al realizar esta actividad, tu equipo cliente (por ejemplo, un portátil) ahora tiene acceso
a los modelos AAS. Se trata de una característica muy potente de Azure que permite
que solo determinadas direcciones IP tengan acceso a su servicio.
Crear un modelo
En esta sección crearemos un modelo realizando los siguientes pasos:
1. En el mismo recurso de Analysis Services, ve a la pestaña Manage (Administrar) de
la sección Models (Modelos).
2. Haz clic en el botón New model (Modelo nuevo) y aparecerá una hoja. Para
simplificar el ejercicio, selecciona Sample data (Datos de ejemplo) y haz clic en
Add (Agregar).
Figura 3.9: Seleccionar los datos de ejemplo como origen de datos AAS
Nota
Esto creará un nuevo modelo semántico implementado en AAS basado en la
conocida base de datos AdventureWorks con datos de almacenes de venta de
bicicletas online.
100 | Procesamiento y visualización de datos
AAS descargará entonces un archivo .pbix (es decir, un archivo de Power BI Desktop) en
el que se ha establecido una conexión entre el modelo de datos AdventureWorks y Power
BI.
En las siguientes partes de la actividad, deberás usar Power BI Desktop para crear un
panel en tiempo real.
En el momento en que se redacta este texto, Power BI Desktop presenta las siguientes
limitaciones:
• Funciona solo con Windows 7/Windows Server 2008 R2 o versiones posteriores
• Debes usar una dirección de correo electrónico de trabajo para crear informes y
paneles con Power BI Desktop. No obstante, se puede conceder acceso de invitado
a la dirección de correo electrónico de un consumidor (por ejemplo, @outlook.com
o @gmail.com) para ver los informes y paneles del servicio Power BI.
Nota
Si no has descargado Power BI Desktop, puedes hacerlo de forma gratuita desde
la aplicación Microsoft Store para Windows 10, o bien descargar el instalador
independiente. Para empezar a usar Power BI Desktop, usa una dirección
de correo electrónico de trabajo para registrarte. Ve al siguiente enlace para
comprobar si cumples los requisitos para crear una cuenta.
102 | Procesamiento y visualización de datos
3. Una vez que hayas terminado de descargar Power BI Desktop, de crear una cuenta
de Power BI y de permitir el acceso administrativo al servidor de Azure Analysis
Services, haz clic en el archivo .pbix que descargaste anteriormente de AAS.
4. Esto abrirá la aplicación Power BI Desktop; puede que se te pida que inicies sesión.
Usa las mismas credenciales utilizadas para crear la cuenta de Power BI en los
pasos anteriores. Si se ha generado un error al abrir el archivo, un motivo probable
es que la cuenta que usaste para iniciar sesión en Power BI no sea administrador
de Azure Analysis Services y, por tanto, no pueda crear una conexión.
Nota
Recuerda que no necesitas Azure Analysis Services para crear un informe de
Power BI. Power BI admite distintos orígenes de datos, como Azure Synapse
Analytics, directamente, si bien esto no es recomendable en entornos reales
y de producción.
Estos campos indican que tienes una conexión activa a Azure Analysis Services,
ya que ahora puedes consultar el modelo de datos semántico.
Ya estás listo para pasar a la siguiente parte de la actividad, que consiste en crear el
panel en tiempo real.
Visualizar datos
Ahora que tienes varios campos con los que trabajar, es el momento de generar
conocimientos útiles a partir de los datos. En un entorno empresarial, usar AAS
como origen de datos de Power BI te ofrece la flexibilidad de realizar consultas en
un modelo almacenado en caché de Azure Synapse Analytics en el que dispongas de
todos los privilegios necesarios para acceder a los datos como analista. No tendrías que
esperar a que un administrador de base de datos o ingeniero te envíe el archivo .csv
para empezar a visualizar los datos. En teoría, los datos con los que estás a punto de
crear los informes son una instantánea de tus bases de datos existentes. En este caso
concreto, AdventureWorks podría obtener estos datos de varios orígenes de datos, como
bases de datos, almacenamiento, sensores del IoT y redes sociales. No se recomienda
consultar directamente esos orígenes de datos desde Power BI.
Power BI es una herramienta muy intuitiva, y la mayoría de los pasos solo requieren
hacer clic o arrastrar y soltar. Usando la base de datos AdventureWorks como origen
de datos para AAS, veremos los campos que están relacionados con una tienda de
venta online de bicicletas y equipamiento relacionado. Los campos están previamente
rellenados pero, en general, tienen este significado:
• Internet Sales (Ventas por Internet): datos de venta de los productos
• Product (Producto): metadatos del producto (por ejemplo, el nombre)
• Product Category (Categoría de producto): asignación de una categoría genérica
a los productos
• Product Subcategory (Subcategoría de producto): asignación de una categoría más
específica a los productos
• Customer (Cliente): información relativa al cliente sobre la venta de un producto
• Date (Fecha): momento de las ventas de los productos
• Geography (Región geográfica): ubicación de las ventas de los productos
106 | Procesamiento y visualización de datos
Ahora realizaremos los pasos siguientes para visualizar los datos en Power BI:
1. Empezaremos con una tabla sencilla de categoría del producto que muestra los
nombres de producto. En la sección de campos de la aplicación, haz clic en la tabla
Product Category (Categoría de producto) y selecciona Product Category Name
(Nombre de la categoría de producto):
5. Ahora crearemos otra tabla que asocie los campos Internet Sales (Ventas
por Internet) y Product (Producto). En el campo Internet Sales (Ventas por
Internet), haz clic en Internet Total Sales (Total de ventas por Internet), y en
el campo Product (Producto), haz clic en Category (Categoría). Power BI creará
automáticamente un gráfico de columnas agrupadas como se muestra en la figura
3.19:
6. Haz clic en el mismo diagrama (Internet Total Sales by Category [Total de ventas
por Internet, por categoría]) y, en la pestaña Visualizations (Visualizaciones),
cambia a Matrix (Matriz):
Power BI creará entonces una tabla para el total de ventas por Internet, por
categorías:
Figura 3.21: Total de ventas por Internet, por categoría, con visualización de matriz
Nuestra próxima tarea consiste en conocer las regiones del país con más ventas.
110 | Procesamiento y visualización de datos
7. Desplázate hasta el campo Internet Sales (Ventas por Internet) y haz clic en
Internet Total Sales (Total de ventas por Internet); luego ve al campo Geography
(Región geográfica) y selecciona Country Region Name (Nombre de la región del
país). Power BI creará entonces un gráfico de columnas agrupadas. Cambia la
visualización a un Donut chart (Gráfico de anillos) o Pie chart (Gráfico circular)
para ver rápidamente las correlaciones de rendimiento en las distintas regiones.
Al desplazarte sobre un anillo o sector, podrás ver algunos indicadores relativos
a dicha región:
Figura 3.22: Total de ventas por Internet, por región, en gráfico de anillos
Guía de inicio rápido (modelado y visualización de datos) | 111
8. Junto con el gráfico, usa el mismo campo de datos (Country Region Name
[Nombre de la región del país] e Internet Total Sales [Total de ventas por
Internet]) y usa una visualización de Filled Map (Mapa coroplético) en su lugar.
Power BI mostrará una vista de mapa de las ventas mundiales. Al hacer clic en
un elemento, los demás gráficos reaccionan ante los valores asociados.
9. Ahora agrega un gráfico de Internet Total Sales by Year (Total de ventas por
Internet, por año). Haz clic en Internet Total Sales (Total de ventas por Internet)
en el campo Internet Sales (Ventas por Internet), y complétalo haciendo clic
en Fiscal (Ejercicio fiscal) en el campo Date (Fecha). Esto creará un gráfico
de columnas agrupadas, como se muestra en el diagrama siguiente.
Figura 3.24: Total de ventas por Internet, por año: gráfico de columnas agrupadas
112 | Procesamiento y visualización de datos
10. El último gráfico que crearemos no es más que una asociación entre los clientes
y las ventas por Internet. Haz clic en el mismo campo Internet Total Sales (Total
de ventas por Internet) en Internet Sales (Ventas por Internet) y, en esta ocasión,
asócialo a los campos Commute Distance (Distancia de desplazamiento) y Gender
(Sexo) del cliente. Cambia la visualización a un gráfico de barras agrupadas.
Figura 3.25: Total de ventas por distancia de desplazamiento y sexo: gráfico de barras
11. Para agregar estilos al panel, haz clic en la cinta Switch Theme (Cambiar tema)
situada hacia la parte superior de la aplicación. Puedes elegir el color de tu
preferencia.
En esta sección hemos visto las capacidades de Power BI para crear gráficos
enriquecidos con solo unos clics y con el método de arrastrar y soltar utilizando
Power BI Desktop. A partir de modelos de datos semánticos, podemos representar
datos significativos que los usuarios puedan entender con facilidad.
Publicar el panel
Ahora que has creado los gráficos y el panel, ha llegado el momento de publicarlos en
tu espacio de trabajo siguiendo estos pasos:
1. Haz clic en el icono Publish (Publicar), en la cinta situada hacia la parte superior
de la aplicación. Selecciona un espacio de trabajo de destino. Para esta actividad,
no dudes en seleccionar "My workspace" (Mi espacio de trabajo) como destino.
Espera a que Power BI termine de publicar los informes. Una vez publicados, te
mostrará un enlace que te permitirá acceder al panel desde una página web.
Los usuarios también pueden ver una versión móvil del informe descargando la
aplicación móvil Power BI desde App Store de Apple iOS o Google Play Store.
Machine learning en Azure | 117
En la aplicación móvil podrás ver tus propios informes, así como los informes
compartidos con tu cuenta. La siguiente figura muestra una vista móvil del informe
AdventureWorks que creamos anteriormente:
Al usar Azure para impulsar tus procesos de análisis de machine learning, obtienes
hardware especializado capaz de acelerar tus experimentos. Con hardware acelerado,
como unidades de procesamiento de gráficos (GPU) rápidas y matrices de puertas
programables (FPGA), puedes leer miles de millones de registros y probar varios
modelos simultáneamente para conseguir resultados más rápidos en tus experimentos
de ML.
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 (IA) en el ecosistema Microsoft Azure.
ML.NET
ML.NET es un marco de trabajo multiplataforma de código abierto para desarrolladores
de .NET. Al usar ML.NET, tú y tu equipo podréis aprovechar las habilidades, bibliotecas
y marcos de trabajo ya existentes en el ecosistema .NET. Puedes crear aplicaciones
web mediante ASP.NET, aplicaciones móviles mediante Xamarin, aplicaciones de
escritorio mediante WPF, e incluso IoT mediante Windows IoT. También puedes ampliar
la creación del modelo de ML con TensorFlow y ONNX. ML.NET proporciona soporte
"out-of-the-box" para algoritmos que permiten análisis de opiniones, recomendación
de productos, detección de objetos, previsión de ventas y muchos más casos de uso
reales.
Bot Framework
Microsoft Bot Framework permite a las aplicaciones crear bots inteligentes (a
menudo utilizados para chatbots) 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 (PLN) que acelera la creación de IA basada en
conversación, como los chatbots. Con Bot Framework, los desarrolladores pueden
crear fácilmente una IA conversacional capaz de aprender de expresiones e intenciones
mediante entrenamiento. Este marco de trabajo también permite a los desarrolladores
publicar fácilmente el bot en varios canales como Microsoft Teams, Cortana y Slack.
Actualmente, Bot Framework está siendo ampliamente adoptado por grandes
corporaciones, como bancos y conglomerados minoristas, para su soporte de primer
nivel. Por ejemplo, el Banco de Beirut usó Azure Bot Framework para crear el chatbot
Digi Bob, que ayuda a los usuarios a solicitar préstamos y a hacer uso de otros servicios
bancarios. Para obtener más información, lee el caso de uso aquí.
Con Bot Framework, los desarrolladores pueden implementar bots inteligentes de nivel
empresarial capaces de traducir fácilmente consultas y mensajes (intenciones) de los
usuarios y de responder con acciones significativas. Estas acciones pueden incluir
consultar un origen de datos u orquestar un comando en un sistema. Puedes 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
• MMLSpark
• Azure Notebooks
• Azure Batch
• ML Services en HDInsight
• ML en Power BI
• Azure Machine Learning para VS Code
• Ejecutar tus propios marcos de ML en un contenedor Linux o imagen de servidor
122 | Procesamiento y visualización de datos
Puesto que este libro no podría cubrir todas las tecnologías mencionadas
anteriormente, nos centramos en Azure Machine Learning Services. Para obtener más
información sobre los servicios anteriores, visita este enlace.
Interfaz visual
También puedes usar una interfaz visual (precisa un mínimo de programación) para
crear y ejecutar experimentos. La experiencia es similar a la de Azure Machine Learning
Studio, donde se usan numerosas herramientas de arrastrar y soltar, así como entidades
de conexión. Se trata de una forma intuitiva de conectar orígenes de datos y de crear un
modelo de ML que entrenar y servir.
AutoML
AutoML es un mecanismo que te sugiere el mejor algoritmo posible para tus
experimentos. Es una característica incorporada de AMLS. Puedes automatizar las
tareas que consumen mucho tiempo, como la limpieza de datos y la selección de
los algoritmos adecuados para tu modelo. AutoML te permite iterar rápidamente
numerosas combinaciones de algoritmos e hiperparámetros, lo que te ayuda
a encontrar el modelo óptimo en función del resultado que desees.
Características y ventajas de Azure Machine Learning Services | 123
Azure MLS te permite usar Azure Databricks para preparar los datos para tus
experimentos. A continuación, puedes usar cuadernos de Jupyter o código de
Visual Studio para crear experimentos. Como alternativa, también puedes usar la
característica integrada de cuadernos de Azure de MLS. Entonces podrás ejecutar
experimentos para entrenar y probar tu modelo de machine learning, aprovechando
los equipos para ejecutar algoritmos complejos de ciencia de datos. Esto creará un
modelo de ML en formato ONNX, que es altamente portátil y se puede implementar
fácilmente en un contenedor como Azure Container Instance. También tienes la opción
de ejecutarlo en AKS (Azure Kubernetes Services) o incluso en dispositivos perimetrales
compatibles con Docker.
En este libro no profundizaremos en el uso de Azure Databricks como clúster de
computación de Azure Machine Learning Services. Sin embargo, esta combinación
ofrece una serie de ventajas. Si ya usas Azure Databricks para obtener análisis en
tiempo real en tu almacén de datos moderno, también podrías plantearte la posibilidad
de usarlo para ejecutar experimentos de ML en Azure MLS.
6. Haz clic en Create (Crear). Espera a que se aprovisione el clúster. Cuando el estado
del aprovisionamiento cambie a Succeeded (Conseguido), podrás empezar a usar
los nodos en tus experimentos.
Figura 3.40: Vista previa del conjunto de datos mostrada por AML
Nota
AUC_weighted es la media aritmética de la puntuación de cada clase, ponderada
según el número de instancias verdaderas en cada clase.
Ten en cuenta que puedes aumentar los valores de los parámetros anteriores
si deseas ejecutar más pruebas simultáneas o aumentar los tiempos de
entrenamiento. Esto afectará a tu consumo de recursos de proceso y tiempos de
ejecución. También puedes definir algunas opciones para bloquear algoritmos si
no se ajustan a tu caso de uso.
15. Haz clic en Start (Inicio).
Azure MLS ejecutará y probará distintos algoritmos para alcanzar el resultado
deseado. Según la configuración que hayas elegido en los pasos anteriores, podrá
ejecutar algoritmos simultáneos y paralelos para entrenar tu modelo. La ejecución
tardará un tiempo en completarse.
Una vez completada, verás la fórmula que ha obtenido la puntuación más alta.
Este método te permitirá probar diferentes fórmulas para interpretar si una
transacción es o no fraudulenta.
Puedes implementar este modelo en Azure Container Instance (ACI) para
implementarlo después en otros dispositivos compatibles con contenedores,
como dispositivos de IoT.
Estas puntuaciones nunca pueden ser precisas al 100 % pero, una vez que hemos
desarrollado un modelo, podemos filtrar las nuevas transacciones y detectar si
podrían ser fraudulentas.
La siguiente figura muestra que, con VotingEnsemble, puedes alcanzar una
precisión del 98 % a la hora de predecir si una transacción entrante es fraudulenta.
Este ejercicio puede ayudarte a empezar a usar Machine Learning en Azure. Ya has
podido ejecutar algoritmos de ML y clasificar un conjunto de datos complejo en
cuestión de minutos y sin usar código. Puedes precisar aún más tus experimentos
aumentando el número de iteraciones o prolongando el tiempo de entrenamiento.
Si deseas obtener más información sobre el significado de los gráficos, puedes consultar
este recurso.
Después de estos ejercicios, no dudes en eliminar los recursos de Azure Portal para
asegurarte de que los espacios de trabajo no se sigan facturando a tu suscripción.
Resumen
En este capítulo hemos tratado la creación de modelos semánticos con Azure
Analysis Services. Hemos usado AAS para crear un puente entre el origen de datos y
la visualización de los datos. A continuación, exploramos Power BI Desktop para crear
informes. Power BI te permite crear gráficos enriquecidos y significativos de los que
poder obtener conocimientos empresariales. A continuación, publicamos el informe
para colaborar en él en distintos soportes.
Hemos aprendido que hay muchas herramientas y tecnologías disponibles para
implementar el ML y la IA en Azure. Hemos explorado Machine Learning Services, sus
características y ventajas, y aplicado machine learning en Azure para predecir el fraude
en tarjetas de crédito. En el próximo capítulo hablaremos de las nuevas características
y funcionalidades incorporadas al almacén de datos moderno.
Introducción a Azure
4
Synapse Analytics
En capítulos anteriores has podido aprender los patrones del almacén de datos
moderno y a implementar tu propio almacén de datos moderno integral mediante
los servicios de Azure. En este capítulo te presentamos una vista previa genérica de
Azure Synapse Analytics, un apasionante conjunto de funcionalidades que se está
incorporando al almacén de datos de Microsoft.
Ambos sistemas de análisis son cruciales para las empresas y funcionan de manera
independiente uno de otro. Esto puede dar lugar a decisiones no documentadas. Al
mismo tiempo, las empresas necesitan desbloquear conocimientos de todos sus datos
para seguir siendo competitivas y para innovar sus procesos con el fin de obtener
mejores resultados.
Los clientes que deseen crear su propia canalización de datos integral deberán seguir
los pasos que se describen a continuación:
1. Adquirir datos procedentes de distintos orígenes de datos
2. Cargar todos estos orígenes de datos en un data lake para su procesamiento
posterior
3. Limpiar los datos con distintas estructuras y de distintos tipos
4. Preparar, transformar y modelar los datos
5. Servir los datos limpios a miles de usuarios a través de herramientas
y aplicaciones de BI
Hasta ahora, cada uno de estos pasos ha requerido una herramienta diferente, y dada
la amplia oferta de herramientas, servicios y aplicaciones disponibles, elegir la solución
correcta puede ser una tarea abrumadora.
Hay numerosos servicios capaces de adquirir, cargar, preparar y servir datos. También
hay varios servicios basados en el lenguaje de elección del desarrollador que pueden
usarse para limpiar los datos. Algunos desarrolladores prefieren Spark y otros
SQL, mientras que otros prefieren usar entornos sin necesidad de programar para
transformar los datos.
Incluso una vez elegida 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 de mantener una canalización de datos en distintas plataformas
y lenguajes. Con todos estos factores, implementar y mantener una plataforma de
análisis en el cloud puede resultar difícil.
136 | Introducción a Azure Synapse Analytics
Azure Synapse Studio proporciona una interfaz de usuario unificada para las tareas
de preparación de datos, administración de datos, almacenamiento de datos, análisis
de big data e IA. Ofrece las siguientes características:
• Entornos visuales sin necesidad de programar para administrar canalizaciones
de datos
• Optimización automatizada de consultas
• Funcionalidad para elaborar pruebas de concepto en cuestión de minutos
• Consultas a petición sin servidor
• Posibilidad de acceder de forma 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
Azure Synapse Analytics permite obtener y entregar conocimientos a partir de todos
los datos que residen en el almacén de datos y en sistemas de análisis de big data a una
velocidad sorprendente. Permite a los profesionales de datos usar 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 las cargas de trabajo,
el aislamiento de cargas de trabajo y la simultaneidad ilimitada contribuyen a optimizar
el rendimiento de todas las consultas en cargas de trabajo decisivas.
138 | Introducción a Azure Synapse Analytics
Con Azure Synapse Analytics, los clientes pueden desarrollar proyectos de business
intelligence y machine learning con facilidad. Azure Synapse Analytics permite
una profunda integración con Power BI y Azure Machine Learning para ampliar
considerablemente la detección de conocimientos a partir de todos tus datos y
aplicar modelos de machine learning a todas tus 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 un modo fluido a los datos más importantes —desde Dynamics 365 y Office 365
hasta implementaciones de software como servicio (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 forma colaborativa, así como recursos
y código para desarrolladores de SQL y Spark.
Básicamente, Azure Synapse Analytics se encarga de todo.
Azure Synapse Analytics al rescate | 139
Para apreciar plenamente las ventajas de Azure Synapse, primero debes echar un
vistazo a sus servicios fundamentales.
140 | Introducción a Azure Synapse Analytics
Características clave
El espacio de trabajo de Azure Synapse Analytics proporciona las siguientes características:
• Un almacén de datos rápido, seguro y altamente flexible.
• Capacidad para ejecutar consultas T-SQL simultáneas mediante grupos de SQL
en petabytes de datos para prestar servicio a herramientas y aplicaciones de BI.
• SQL On-Demand proporciona consultas SQL sin servidor para facilitar la
exploración y el análisis de datos en Azure Data Lake Storage sin ningún tipo de
configuración o mantenimiento de la infraestructura.
• Responde a todas las necesidades de análisis, desde la ingeniería de datos hasta
la ciencia de datos, haciendo uso de diversos lenguajes, como Python, Scala,
C# y Spark SQL.
• Grupos de Spark, que mitigan la complejidad en la configuración y el mantenimiento
de clústeres y simplifican el desarrollo de aplicaciones de Spark y el uso de cuadernos
de Spark.
Azure Synapse Analytics al rescate | 141
• Ofrece una profunda integración entre Spark y SQL, lo que permite a los ingenieros
de datos preparar datos en Spark, escribir los resultados procesados en un grupo
de SQL y usar cualquier combinación de Spark con SQL para fines de ingeniería
y análisis de datos, con compatibilidad integrada con Azure Machine Learning.
• Capacidad de integración de datos híbridos altamente escalable que acelera la
adquisición y la operativización de los datos mediante canalizaciones de datos
automatizadas.
• Proporciona un servicio integrado sin fricciones, con seguridad, implementación,
supervisión y facturación unificadas.
En las secciones siguientes se destacan las funcionalidades, las características clave, los
detalles de la plataforma y los servicios para el usuario final:
142 | Introducción a Azure Synapse Analytics
Funcionalidades
• Almacén de datos rápido, seguro y altamente flexible, líder del sector en
rendimiento y seguridad
• Capacidad para explorar Azure Data Lake Storage y el almacén de datos mediante
la popular sintaxis T-SQL en consultas SQL de SQL On-Demand (sin servidor)
• Apache Spark integrado con Azure Machine Learning
• Integración de datos híbridos para acelerar la adquisición de datos y la
operativización del proceso de análisis (adquisición, preparación, transformación
y servicio)
• Generación y servicio de informes empresariales con integración de Power BI
Características clave
• Exploración directa de los datos de Azure Data Lake Storage, de un almacén
de datos o de cualquier conexión externa al espacio de trabajo mediante Azure
Synapse Analytics Studio
• Creación y operativización de canalizaciones para la adquisición y orquestación
de datos
• Programación con cuadernos y editores de consultas T-SQL
• Herramienta de transformación de datos sin necesidad de programar para quienes
prefieren no tener que escribir su propio código
• Supervisión, protección y administración de espacios de trabajo sin salir del
entorno
• Experiencia de desarrollo basada en web para todas las soluciones de análisis
• Capacidad para explorar Azure Data Lake Storage, bases de datos y conexiones
externas al espacio de trabajo
Plataforma
• Admite procesos aprovisionados y sin servidor. Ejemplos de procesos aprovisionados
serían los procesos de SQL y de Spark. Estos procesos aprovisionados permiten a
los equipos segmentar sus recursos informáticos, de forma que puedan controlar el
coste y el uso de una forma mejor adaptada a su estructura organizativa. Por otro
lado, los procesos sin servidor permiten a los equipos usar el servicio a petición sin
necesidad de aprovisionar ni administrar ninguna infraestructura subyacente.
• Profunda integración entre los motores Spark y SQL
Azure Synapse Analytics al rescate | 143
Apache Spark
Para los clientes que desean Apache Spark, esta solución dispone de compatibilidad con
productos de Microsoft a través de Azure Databricks y está totalmente administrado
por Azure. Los usuarios tendrán disponible automáticamente la última versión de
Apache Spark, junto con todos los parches de seguridad.
Si usas Spark en Azure Synapse Analytics, este se proporciona como SaaS. Por ejemplo,
puedes usar Spark sin configurar ni administrar tus propios servicios, como una red
virtual. Azure Synapse Analytics se encargará de la infraestructura subyacente. Esto te
permite usar Spark en tu entorno Azure Synapse Analytics con carácter inmediato.
SQL On-Demand
SQL On-Demand proporciona consultas SQL sin servidor. Esto facilita la exploración
y el análisis de datos en Azure Data Lake Storage sin ninguna configuración ni
mantenimiento de infraestructura:
Características clave
• Los analistas pueden centrarse en analizar los datos sin preocuparse de
administrar ningún tipo de infraestructura.
• Los clientes pueden beneficiarse de su modelo de precios sencillo y flexible,
ya que solo pagan por aquello que usan.
• Utiliza la conocida sintaxis del lenguaje T-SQL y el mejor optimizador de consultas
SQL del mercado. El optimizador de consultas SQL es el cerebro del motor
de consultas.
• Puedes escalar fácilmente tus recursos de computación y almacenamiento,
de forma independiente, a medida que crecen tus necesidades.
• Consigue una integración sin fisuras con el grupo de SQL Analytics y Spark
mediante sincronización de metadatos y conectores nativos.
Por ejemplo, puedes consultar Azure Data Lake Storage mediante la popular sintaxis
T-SQL siguiendo estos pasos:
1. Selecciona un archivo de Azure Data Lake Storage.
2. Haz clic con el botón derecho y ejecuta la consulta SQL de SQL On-Demand
(sin servidor) usando la sintaxis T-SQL (por ejemplo, GROUP BY, ORDER BY, etc.).
Integración de datos
Azure Synapse Analytics se sirve de la tecnología Azure Data Factory (ADF) para
proporcionar características de integración de datos. Las características clave de ADF
que son esenciales para la canalización del almacén de datos moderno están disponibles
en Azure Synapse Analytics. Todas estas características se distribuyen dentro de un
modelo de seguridad común con control de acceso basado en roles (RBAC) en el espacio
de trabajo de Azure Synapse Analytics.
La siguiente figura muestra un ejemplo de canalización de datos y de las actividades de
ADF que se integran directamente dentro del entorno de Azure Synapse Analytics:
Azure Synapse Analytics al rescate | 145
Características clave
• Servicios de plataforma integrados para administración, seguridad, supervisión
y administración de metadatos
• Integración nativa entre Spark y SQL Una única línea de código que leer y escribir
con Spark desde/en SQL Analytics
• Capacidad para crear una tabla de Spark y consultarla de forma inmediata con
SQL Analytics sin definir el esquema
• Reconocimiento de modelos de datos comunes
• Entorno "libre de claves", con inicio de sesión único y paso a través de AAD;
no se necesita ninguna clave ni inicio de sesión para interactuar con ADLS/bases
de datos
146 | Introducción a Azure Synapse Analytics
Próximos cambios
A medida que un producto evoluciona, a veces es necesario reajustarlo actualizando su
nombre. La siguiente tabla indica los cambios y actualizaciones de nombre que se harán
efectivos a partir de ahora.
Resumen
Azure Synapse Analytics es una evolución innovadora de Azure SQL Data Warehouse.
Permite a los profesionales de datos crear soluciones de análisis integrales con una
experiencia unificada.
Azure Synapse aprovecha lo mejor de Azure SQL Data Warehouse y lo moderniza
mediante la incorporación de funcionalidades adicionales para los desarrolladores
SQL: añade consultas a petición sin servidor, incorpora compatibilidad con machine
learning, integra Spark de forma nativa, proporciona cuadernos colaborativos y ofrece
integración de datos en un único servicio.
Los servicios de Azure existentes descritos en el patrón de almacenamiento de datos
moderno (que explicamos en capítulos anteriores) seguirán prosperando. Con sus
nuevas características, Microsoft ofrecerá a los clientes un enfoque simplificado y
optimizado para crear sus soluciones de análisis.
En el próximo capítulo, verás casos de uso reales de cómo todas estas tecnologías se
integran para proporcionar las soluciones completas e integrales de almacén de datos
que los responsables de la toma de decisiones empresariales pueden usar para obtener
conocimientos de utilidad a partir de datos en tiempo real.
Casos de uso
5
empresariales
En los capítulos anteriores, hemos aprendido sobre el análisis a escala de cloud y los
servicios que ofrece Microsoft Azure para permitir que las empresas descubran
información. También hemos conocido las nuevas características y funcionalidades
que se agregaron al almacén de datos moderno. En este capítulo, veremos dos casos
de uso empresariales reales para mostrar soluciones de alto nivel con Microsoft Azure.
El objetivo de estos casos de uso 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
de uso empresariales, los desafíos y los problemas son reales. Muestran los tipos de
problemas de datos que puedes encontrar en tu vida cotidiana.
El problema
Como muchas otras organizaciones, Contoso 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 Contoso tenga éxito, tiene que resolver
muchos problemas. Algunos de estos problemas son técnicos, mientras que otros son
culturales y organizativos.
La directora general de Contoso 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 Contoso (en consulta
con la directora general) acordó definir la declaración del problema de esta manera:
¿Cómo puede Contoso aumentar los beneficios?
Más concretamente, al equipo de datos de Contoso 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 Contoso aumente su margen de beneficios 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 que han expirado.
• Usar datos de clientes, ventas y marketing para optimizar el gasto de Contoso en
promociones y marketing a fin de llegar a los clientes adecuados con la promoción
correcta.
El problema | 151
Emocionados por llevar a cabo esta tarea, los miembros del equipo de datos de
Contoso comenzaron con un taller para refinar los requisitos y los desafíos técnicos.
Las prácticas de datos actuales de Contoso, como en la mayoría de las empresas, están
orientadas a informar de 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 Contoso está
intentando lograr, que es descubrir patrones para predecir qué productos debe vender
Contoso y en qué cantidades los venderá, y hacerlo casi en tiempo real. Para que esto
suceda, el equipo de datos de Contoso concluyó que tienen que abordar los siguientes
desafíos.
Adquisición 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 detección
y exploración de datos. En el escenario actual, debes definir los orígenes de los que
necesitas extraer datos. También debes ver cómo puedes 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 necesitas
para este caso de uso incluyen:
• Transacciones de ventas: las transacciones de ventas no solo pueden saber qué
y cuántos productos se vendieron en una tienda determinada, sino que también
pueden indicar qué clientes compraron qué productos. Esto se debe a que
Contoso ya tiene un programa de fidelización donde los clientes escanean su
tarjeta de fidelización como parte del procedimiento de pago. Contoso tiene dos
almacenes de datos diferentes para las transacciones de ventas: un almacén de
datos para las tiendas físicas y otro para las tiendas online de Contoso.
• Datos del cliente: Contoso tiene un sistema de administración de relaciones
con el cliente (CRM) que contiene los datos del cliente. Los datos de los clientes
incluyen (entre otras cosas) nombres, apellidos, direcciones físicas, números de
teléfono, direcciones de correo electrónico e información de grupos de edad.
• Datos del programa de fidelización: los datos del programa de fidelización se
almacenan en un sistema de origen distinto y ayudan a Contoso 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 Contoso responden al diseño y al contenido de las
aplicaciones de Contoso.
• Sensores y datos de IoT: algunas de las tiendas de Contoso están equipadas con
sensores digitales para comprender los comportamientos de los clientes en las
tiendas. 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 Contoso. Contoso usa estos
sensores para garantizar que los productos frescos, como la leche, se conserven
en las condiciones adecuadas. Además, Contoso también tiene sensores para
contar los empleados casi en tiempo real. Esto ayuda a Contoso 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 sobre el diseño | 155
• Otros conjuntos de datos: para enriquecer los datos de Contoso y darles otra
dimensión, el equipo de datos de Contoso está pensando en 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 Contoso y agregar un mayor contexto a las tendencias
y los patrones en los comportamientos de los clientes y las cifras de ventas. Por
ejemplo, tomemos el clima. Contoso 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 de edad y atributos de ingresos
promedio puede estar fuertemente correlacionado con las cifras de ventas de
determinados productos. Por ejemplo, en los barrios residenciales donde la media
de edad es de 25 años podrían tener mayores ventas de productos de peluquería,
mientras que en las tiendas de los barrios residenciales con una media de edad de
45 años se podría vender una cantidad inferior de los mismos productos.
Almacenamiento de datos
Como se ha mencionado anteriormente, Contoso necesita adquirir datos de diversos
orígenes. Contoso 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 están creciendo
rápidamente y llegan a una alta tasa de rendimiento. Para satisfacer las necesidades
de Contoso, necesitamos tener un almacén de datos que:
1. Sea escalable y flexible para crecer junto con las demandas del equipo de datos de
Contoso.
2. Sea una plataforma segura y controlada para garantizar que los recursos y la
propiedad intelectual de Contoso estén bien protegidos.
3. Sea compatible con otros sistemas y herramientas existentes.
4. Tenga un precio razonable.
5. Admita operaciones de alto rendimiento y procesamiento paralelo.
156 | Casos de uso 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 Contoso 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.
• Integrarse con marcos de inteligencia artificial y entornos en tiempo 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. Requiere un perfeccionamiento continuo y pruebas de hipótesis. Por lo tanto, es
imperativo que el equipo de datos de Contoso 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 Contoso decidió usar Microsoft Azure para implementar la
solución de análisis de Contoso. Entre otras cosas, el equipo de Contoso incluyó la
escalabilidad, el cumplimiento y la disponibilidad regional de Azure en las regiones de
Contoso (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.
La solución | 157
Flujo de datos
El diseño de la figura 5.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. Contoso necesita adquirir muchos conjuntos de datos distintos. Algunos de estos
contienen datos estructurados y otros, datos no estructurados. En el caso de los
datos estructurados, Contoso usará Azure Data Factory para adquirir estos datos
mediante actividades por lotes periódicos (5 minutos) e insertarlos en Azure Data
Lake Storage.
2. Para los datos no estructurados, Contoso va a usar Apache Kafka en un clúster
de Azure HDInsight para capturar estos datos casi en tiempo real e insertarlos
en Azure Data Lake Storage y Databricks (Spark Structured Streaming). Esto
hace que todos los nuevos datos estén disponibles para su procesamiento con
la solución de análisis de Contoso y permite que Contoso desencadene cualquier
acción en los datos casi en tiempo real (5-10 segundos de retraso). 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
Contoso), fuentes de redes sociales (de Twitter, Facebook, etc.), registros
e información de seguimiento de los servidores de Contoso y cualquier dato
procedente de los sensores del IoT.
158 | Casos de uso empresariales
3. Una vez que se adquieren los datos, Azure Data Factory insertará los datos en
Azure Data Lake Storage. Azure Data Factory tiene un conector de datos nativo
para Azure Data Lake Storage Gen2.
4. Los datos que se almacenan en Azure Data Lake Storage se pueden cargar
directamente en Azure Synapse Analytics con PolyBase. PolyBase es una
tecnología que Microsoft desarrolló para unificar las consultas y el trabajo con
datos en servidores SQL (y Synapse Analytics), así como sistemas de archivos
basados en Hadoop (como Azure Data Lake Storage).
5. Los datos de Contoso 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 Contoso tendrá que limpiar,
preparar, validar y enriquecer estos conjuntos de datos. Este trabajo se hará con
Azure Databricks. Azure Databricks puede conectarse directamente a Azure
Data Lake Storage para extraer datos y almacenar los resultados de los datos
procesados.
6. Azure Databricks ofrece la capacidad de procesar flujos de datos mediante
Apache Spark Streaming. El equipo de datos de Contoso lo usará para procesar
los flujos de datos no estructurados que captura Apache Kafka. Además, con la
compatibilidad nativa de Azure HDInsight para Azure Data Lake Storage Gen2,
los datos entrantes provenientes de registros de aplicaciones, redes sociales
y otros datos no estructurados se insertarán de Apache Kafka en Azure Data
Lake Storage Gen2. Otros flujos de datos estructurados se pueden insertar
directamente en Azure Synapse Analytics (consulta el punto 9 a continuación).
7. Mientras el equipo de Contoso limpia y prepara datos en Azure Databricks,
tendrá que extraer algunos datos del almacén de datos para combinar datos
históricos con los datos recién llegados. Una vez que se completa la preparación
de los datos, se insertan en Azure Synapse Analytics donde todos los datos
se combinan, modelan y preparan para su consumo. Además, Azure Synapse
Analytics se puede usar como receptor de salida para Structured Streaming de
Apache Spark. Esto brinda a los analistas de datos y a los usuarios de nivel inferior
de Contoso las herramientas para acceder a los flujos de datos casi en tiempo real
mediante Synapse Analytics. Esto no solo permite que los sistemas de los usuarios
de Contoso 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 Azure Synapse Analytics para llegar a un consenso sobre el
rendimiento empresarial y los comportamientos de los clientes.
8. Power BI se puede usar para ejecutar consultas ad hoc sobre los datos que
se están limpiando y procesando en Azure Databricks. Power BI admite esta
integración de varias maneras, como flujos de datos, Direct Query e importación
de datos.
Servicios de Azure | 159
2. Contoso tiene varios servidores SQL existentes. Estos servidores hospedan gran
cantidad de paquetes de SQL Server Integration Services (SSIS) para informes
y paneles existentes. Azure Data Factory ofrece un entorno de ejecución de
integración diseñado para controlar paquetes SSIS. Esto hace que Azure Data
Factory sea una plataforma perfecta para Contoso, ya que permite que Contoso
aproveche sus inversiones existentes en estos paquetes SSIS.
3. Además de todos los conectores de datos precompilados, Azure Data Factory
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 Data Factory 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 Contoso, 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 Contoso aprovechar
las funcionalidades eficaces de transformación de datos visuales y la organización
de datos de Azure Data Factory en el portal visual, al tiempo que mantiene
controlada toda la versión de trabajo.
4. Azure Data Factory es una herramienta totalmente administrada que permite
al equipo de Contoso 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 Contoso solo paga por lo que usa.
5. Además de otras certificaciones, Azure Data Factory 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 Contoso. Esto hace que Azure Data Factory
sea servicio muy atractivo para Contoso, ya que marca todas las casillas de su lista
de comprobación en cuanto a la seguridad y el cumplimiento.
6. Azure Data Factory proporciona las herramientas para crear canalizaciones de
datos que son resistentes frente a la desviación del esquema. Esto significa que
cuando el equipo de Contoso crea canalizaciones para mover datos del origen
A al 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 fiabilidad y la resistencia de las canalizaciones de datos
de Contoso.
7. Por último, el uso de Azure Data Factory proporciona a Contoso un plano
de control único para administrar todas las actividades de movimiento
y procesamiento de datos.
Servicios de Azure | 161
Implementación de ejemplo
El siguiente es un ejemplo de cómo Contoso configura su instancia de Azure Data
Factory para extraer datos de su base de datos transaccional de ventas (que se
encuentra en un servidor de Azure SQL Server) a Azure Data Lake Storage Gen2:
1. Como se ha explicado en el capítulo 2, Crear tu almacén de datos moderno, Azure
Data Factory proporciona integración nativa con Azure Data Lake Storage Gen2.
Contoso puede conectarse a Azure Data Lake Storage Gen2 al configurar un
servicio vinculado en Azure Data Factory de la siguiente manera:
{
"name": "ContosoAzureDLStorageLS",
"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 el nombre de la cuenta de Azure
Storage, accountKey y el nombre del entorno de ejecución de integración.
162 | Casos de uso empresariales
"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"
}
}
}
De nuevo, 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 tengas que configurar un conjunto
de datos en Azure Data Factory para la base de datos de ventas de Contoso. 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 Contoso:
{
"name": "ContosoSalesDataset",
"properties":
{
"type": "AzureSqlTable",
"linkedServiceName": {
"referenceName": "ContosoSalesAzureSqlDbLS",
"type": "LinkedServiceReference"
},
"schema": [ {optional} ],
"typeProperties": {
"tableName": "sales_table"
}
}
}
164 | Casos de uso empresariales
Implementación de ejemplo
Este es un ejemplo de la adquisición de un flujo de datos en Azure HDInsight
(Apache Kafka) y su escritura en un archivo Parquet comprimido.
// Reading a kafka stream to a dataframe
val kafkaStreamDF = spark.readStream.format("kafka")
.option("kafka.bootstrap.servers", kafkaBrokers)
.option("subscribe", kafkaTopic)
.option("startingOffsets", "earliest")
.load()
// Writing streaming data to a parquet file
kafkaStreamDF.select(from_json(col("value")
.cast("string"), schema) as "tweet")
.writeStream
.format("parquet")
.option("path","/contoso/socialmedia/twitterfeed")
.start.awaitTermination(10000)
El fragmento de código anterior lee el flujo de datos de Apache Kafka en un DataFrame
en Scala en función de la configuración del servidor y el tema de Apache Kafka.
A continuación, DataFrame se escribe en un archivo comprimido (Parquet) con la ruta
proporcionada con una terminación automática del trabajo después de 10 000 segundos.
El fragmento de código también supone que las bibliotecas de Spark para Kafka están
instaladas, que se hace referencia a ellas de manera correcta y que coinciden con la
versión de Spark en el clúster de HDInsight.
Azure Data Lake Storage Gen2
Rol en el diseño
Azure Data Lake Storage funciona como almacén de datos central de Contoso.
Esto permite que Contoso reúna grandes cantidades de datos de orígenes
diferentes. Además, el tipo y el formato de los conjuntos de datos de Contoso 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. Azure Data Lake Storage puede almacenar
datos sin esquemas, como blobs, y puede controlar diferentes formatos (por ejemplo,
archivos de texto, imágenes, vídeos, fuentes de redes sociales, archivos comprimidos,
etc.). La capacidad de controlar formatos de datos sin esquemas facilita a Contoso
la adquisición 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.
Servicios de Azure | 167
Implementación de ejemplo
Al adquirir datos en Azure Data Lake Storage, se considera un buen procedimiento
usar espacios de nombres y contenedores para organizar los datos en el data lake. 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 5.2 se muestra un ejemplo de una zonificación de
data lake simple, donde el data lake está dividido en cuatro zonas: Zona de destino
(adquisición), Zona de almacenamiento provisional, Zona segura y Sandbox de análisis:
• Zona de destino: aquí es donde aterrizarán todos los datos (excepto los
confidenciales) que llegan al data lake 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:
•
Azure Databricks
Rol en el diseño
La innovación requiere una colaboración significativa entre los profesionales de
datos, los desarrolladores y la empresa. También requiere recopilar, limpiar, combinar
y transformar grandes conjuntos de datos. Databricks está diseñado para permitir esta
colaboración y proporcionar una plataforma unificada de análisis de datos. Contoso
usará Azure Databricks como una plataforma unificada para la ciencia de datos y la
ingeniería de datos. Azure Databricks proporciona la potencia de computación para
limpiar y analizar datos y admite varios lenguajes de programación y marcos para
distintas cargas de trabajo.
¿Por qué usar Azure Databricks?
• Azure Databricks ofrece un clúster de Spark totalmente administrado, que es
lo que el equipo de Contoso necesita para la preparación, la transformación
y el análisis de datos. Azure Databricks reduce la complejidad de implementar
y administrar el clúster de Spark, al tiempo que ofrece a Contoso la capacidad de
ponerse en marcha de forma rápida y sencilla.
• Azure Databricks se integra de manera nativa con otros servicios de Azure. Esto
es especialmente importante para la seguridad y el rendimiento. Azure Databricks
se integra con Azure Active Directory, lo que significa que no se deben agregar
ni administrar nuevas cuentas de usuario. De manera similar, Azure Databricks
admite Azure Synapse Analytics como receptor de salida para Spark Structured
Streaming. Esto permite que Contoso inserte datos nuevos en su instancia de
Azure Synapse Analytics casi en tiempo real.
• Azure Databricks proporciona un entorno de colaboración enriquecido donde
varias partes interesadas de Contoso 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.
• Azure Databricks permite el escalado automático del clúster y la terminación
automática. Esto significa que Contoso solo tendrá que pagar el clúster cuando
esté en uso. Esto reduce significativamente los costes al garantizar que los nodos
del clúster solo se ejecutan cuando es necesario que se ejecuten, al mismo tiempo
que se proporciona una mayor flexibilidad al permitir que el clúster se escale de
manera automática.
• La diversidad es buena para la innovación, por lo que Azure Databricks admite
varios marcos y lenguajes de programación. Los científicos de datos y los
ingenieros de datos de Contoso pueden usar R, Python, SQL, Scala, Java y C#
para escribir código en Azure Databricks. Esto es especialmente importante
para Contoso, donde ha sido difícil reclutar y retener talento en esta área.
170 | Casos de uso empresariales
Implementación de ejemplo
El siguiente es un breve ejemplo de código de Python que extrae datos del data lake
a un DataFrame:
configs = {"fs.azure.account.auth.type": "OAuth",
"fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.
oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id": "{appId}",
"fs.azure.account.oauth2.client.secret": "{password}",
"fs.azure.account.oauth2.client.endpoint": "https://login.
microsoftonline.com/{tenant}/oauth2/token",
"fs.azure.createRemoteFileSystemDuringInitialization": "true"}
dbutils.fs.mount(
source = "abfss://{file-system-name}@{storage-account-name}.dfs.core.windows.
net/folder1",
mount_point = "/mnt/contoso/sales",
extra_configs = configs)
salesDF = spark.read.format('csv').options(
header='true', inferschema='true').load("/mnt/contoso/sales/*.csv")
En este fragmento de código se supone que tenemos una entidad de servicio
configurada con el nivel de acceso correcto en Azure Active Directory. También
tiene marcadores de posición para el appId de la entidad de servicio, la contraseña
de la entidad de servicio, el inquilino de Azure AD, el nombre de la cuenta de Azure
Storage y el nombre del sistema de archivos de Azure Data Lake. Además, el código
monta el sistema de archivos de Azure Data Lake Storage en /mnt/contoso/sales
y, a continuación, lee todos los archivos que tienen la extensión de archivo .csv en
un Spark DataFrame.
Azure Synapse Analytics
Rol en el diseño
Contoso necesita una única fuente de verdad para todos sus datos. Estos datos deben
limpiarse, validarse, transformarse y agregarse antes que cualquier otra cosa. Una vez
hecho esto, estos datos recién disponibles deben combinarse con conjuntos de datos
históricos para que Contoso pueda diseñar una imagen completa del rendimiento y las
operaciones empresariales.
Servicios de Azure | 171
Azure Synapse Analytics desempeña el rol de ser la única fuente de verdad. Permite que
Contoso cree un modelo multidimensional de los datos y garantiza un formato de datos
bien estructurados que está optimizado para consultar conjuntos de datos masivos.
Además, Contoso también necesita una plataforma donde los datos bien seleccionados
estén listos para su consumo en un nivel de rendimiento predecible. Azure Synapse
Analytics rellena este rol porque separa la limpieza y validación de datos del servicio
de datos real.
¿Por qué usar Azure Synapse Analytics?
• Azure Synapse Analytics es un servicio totalmente administrado y se escala de
manera dinámica. Esto lo hace muy atractivo para Contoso, porque significa
menos infraestructura que administrar, menos sobrecarga y un servicio escalable
que puede crecer con el negocio.
• Azure Synapse Analytics es 14 veces más rápido que otros proveedores de cloud
según un informe de referencia independiente de GigaOm. Azure SQL proporciona
un rendimiento ultrarrápido para grandes volúmenes de datos. Además, Azure
Synapse Analytics logra esto a través de su funcionalidad de procesamiento
paralelo masivo.
• Azure Synapse Analytics es mucho más barato que otros productos de cloud.
Según el estudio de GigaOm, Azure Synapse Analytics es aproximadamente un
94 % más barato que otros proveedores de cloud.
• Azure Synapse Analytics tiene integración "out of the box" con Structured
Streaming de Apache Spark. Esto permite que Contoso cree informes y paneles
para la información del cliente casi en tiempo real mediante la combinación de
nuevos datos de streaming con datos históricos.
• El equipo de seguridad de Contoso tiene un requisito claro que estipula la
necesidad de proteger sus activos de datos. El equipo de seguridad de Contoso
ha exigido que el almacén 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 Contoso (una red privada virtual).
• A Contoso 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 "out of the box".
• Algunas partes de Contoso usan otras herramientas de BI como Power BI, Tableau
y Qlik, y querían asegurarse de que el nuevo almacén de datos admitiera esta
integración. Azure Synapse Analytics es compatible con muchas herramientas de
BI, incluidas las herramientas de BI existentes de Contoso.
172 | Casos de uso empresariales
• Azure Synapse Analytics también puede activar Apache Spark a petición. Esto
puede resultar muy útil para el equipo de datos de Contoso, ya que permite usar
las mismas herramientas de código abierto para trabajar con sus datos dentro de
Azure Synapse Analytics. Esto facilita obtener una mejor productividad, ya que
los clústeres de Spark admiten varios lenguajes y marcos "out of the box" (Python,
R, Scala, etc.). Por lo tanto, los miembros del equipo de Contoso pueden ser
productivos y estar satisfechos con las herramientas con las que se sienten más
cómodos.
• Desarrollar, implementar y administrar un almacén de datos puede ser un
ejercicio muy complejo. Azure Synapse Analytics 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 cual Contoso está tan interesado en Azure Synapse Analytics es su
administración optimizada de la carga de trabajo y la excelente productividad del
desarrollador. Azure Synapse Analytics es el único almacén de datos en el cloud
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 optimizado y reducir el coste total
de propiedad.
Implementación de ejemplo
Azure Synapse Analytics se puede usar como receptor de salida para Spark Structured
Streaming en Azure Databricks. Esto ofrece la posibilidad de incorporar datos de
streaming en vivo a Azure Synapse Analytics de manera rápida y sencilla. Este es un
breve ejemplo de los principales pasos involucrados:
1. En el siguiente fragmento de código se crea una tabla denominada TweetsStream
en Azure Synapse Analytics para recibir el flujo. Esta tabla tiene dos columnas
simples, una para la marca de tiempo y otra para el valor que se recibe del flujo
de datos. En el ejemplo siguiente se asigna ROUND_ROBIN como la política de
distribución para esta tabla. Elegir una política de distribución puede tener
un impacto importante en el rendimiento. Por lo general, elige tablas HASH-
DISTRIBUTED para mejorar el rendimiento de las consultas en tablas de hechos
de gran tamaño y ROUND_ROBIN para mejorar la velocidad de carga:
CREATE TABLE [dbo].[TweetsStream]
(
[timestamp] DATETIME NULL,
[Value] BIGINT NULL
)
WITH
(
DISTRIBUTION = ROUND_ROBIN,
CLUSTERED INDEX ([timestamp])
)
Servicios de Azure | 173
3. Después escribe continuamente los datos de flujo en la tabla del almacén de datos:
df.writeStream \
.format("com.databricks.spark.sqldw") \
.option("url", sqlDwUrl) \
.option("tempDir", "wasbs://"+container+"@"+stAccount+"/tmpdir/twts") \
.option("forwardSparkAzureStorageCredentials", "true") \
.option("dbTable", "TweetsStream") \
.trigger(processingTime="5 seconds") \
.start()
El fragmento de código anterior guardará el flujo de datos en el contenedor de
Azure Storage designado temporalmente y, luego, PolyBase recogerá los datos
del contenedor temporal en la tabla de Azure Synapse Analytics de destino
(TweetsStream). El código está configurado para activarse cada 5 segundos.
Power BI
Rol en el diseño
El equipo de Contoso 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. Contoso también necesita una plataforma que permita a los usuarios usar
informes y paneles de autoservicio y que los usuarios de Contoso exploren los datos por
sí mismos.
Power BI completa este rol al permitir que Contoso 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é recurrir a Power BI?
Power BI es una oferta de software como servicio (SaaS) de business intelligence que
permite que Contoso transforme sus datos en paneles y objetos visuales interactivos
de manera rápida y sencilla. Contoso elige 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
Contoso resumió su justificación de por qué Power BI es adecuado para este propósito,
como se indica a continuación:
Servicios de Azure | 175
Implementación de ejemplo
Aquí se muestra un ejemplo de los paneles de Contoso. Los siguientes informes
tienen como objetivo comunicar el rendimiento de Contoso en términos de ventas de
productos en sus respectivas categorías, el stock actual de los productos más vendidos,
las cifras de ventas por año y la distribución regional de los clientes de Contoso. El
informe se creó utilizando datos de muestra proporcionados por Microsoft:
Además, Contoso quiere usar Azure Key Vault para quitar la necesidad de que personas
y aplicaciones tengan acceso directo a las claves. Contoso 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 equipos. Esto
mejora la postura de seguridad general de Contoso y, al mismo tiempo, optimiza la
administración de secretos.
Azure DevOps
Azure DevOps brinda a Contoso 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 Contoso:
• Planificar, realizar un seguimiento, analizar y supervisar los elementos de trabajo
con Azure Boards. Contoso ya usa prácticas ágiles, donde actualmente se usan
muros físicos para realizar un seguimiento de los elementos de trabajo, pero
Contoso 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, Contoso 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.
178 | Casos de uso empresariales
Azure Monitor
Contoso 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, Contoso 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 implementarlo es un desafío importante y eso es exactamente
para lo que Azure Monitor está diseñado.
Conocimientos y acciones | 179
Un claro ejemplo de esto fue lo que el equipo encontró en los datos de la temporada
de verano de Australia de 2017. En enero de 2017, hubo una fuerte tendencia en las
redes sociales relacionada con la alimentación saludable. Esto no lo organizó Contoso.
Hubo más de 4,5 millones de australianos que tuitearon, marcaron como favoritas,
compartieron o comentaron publicaciones en Twitter y Facebook con el hashtag
#BeHealthy. Coincidentemente, Contoso 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 que el aumento promedio esperado del 5 % al 10 %.
Valor empresarial estimado: 15,4 de millones de dólares al año (en función de un aumento
del 14 % de los productos indicados).
Conclusión
Ya hemos visto cómo Contoso (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 Contoso (y para
cualquier otra organización). La otra ventaja de usar Azure sin servidor es que las
organizaciones y los equipos pueden empezar de manera pequeña 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 online 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.
182 | Casos de uso empresariales
El problema
Para definir correctamente el problema de negocio, primero debemos tener en cuenta
los desafíos desde la perspectiva empresarial. Luego, observaremos los problemas
técnicos que obstaculizan la capacidad de avanzar del aeropuerto.
Desafíos empresariales
Como se ha mencionado, 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. El año pasado, el aeropuerto sufrió una pérdida
de más de 370 millones de dólares debido a ineficiencias operativas. Esto incluyó los
costes por retrasos de los vuelos debido a la congestión y las largas colas, la pérdida
de oportunidades de venta al por menor 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 y business
intelligence. 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 con
el fin de reducir los costes operativos generales del aeropuerto, al mismo tiempo que
mejorar la experiencia del cliente.
El problema | 183
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 costes.
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 160 millones de dólares 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.
184 | Casos de uso 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 a 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 coste
monetario para el aeropuerto, pone en riesgo la vida de los pasajeros y afecta
negativamente a la experiencia del cliente. El aeropuerto quiere mejorar el flujo de
pasajeros para reducir la congestión y mejorar la seguridad.
Ahora que sabemos cuáles los principales puntos débiles que el lado empresarial de NIA
espera abordar, tendremos que considerar los desafíos técnicos para que así podamos
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 distintas terminologías. 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.
El problema | 185
Según estos requisitos, el equipo de business intelligence del aeropuerto NIA junto con
la directora de informática acuerdan definir la declaración del problema de la siguiente
manera:
El aeropuerto NIA pierde más de 350 millones de dólares 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 business
intelligence 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.
Orígenes de datos
Los datos están en el centro de cualquier solución de análisis. Por lo tanto, debes
comenzar pensando en los diferentes tipos de datos que NIA necesitaría. Luego, debes
pensar en un diseño para reunir estos datos. NIA debe recopilar datos de los siguientes
orígenes:
• Datos aduaneros: los datos aduaneros contienen información sobre los pasajeros
y sus declaraciones 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 utiliza un volcado de archivos
programado en un servidor de archivos. NIA puede utilizarlo para extraer datos
aduaneros a su nueva plataforma.
• Datos de líneas aéreas/vuelos: actualmente, los sistemas individuales de las líneas
aéreas mantienen los datos de los pasajeros, los viajes, los horarios de facturación
y otros detalles relacionados. Aunque son los sistemas de las líneas aéreas los
que mantienen estos datos, el aeropuerto puede integrarse con estos sistemas
mediante API de integración. La implementación específica de esta integración
variará en función de las líneas aéreas individuales, pero el aeropuerto necesita
obtener estos datos casi en tiempo real.
• Datos de sistemas de aparcamiento: el aeropuerto tiene sensores en todos los
aparcamientos que cuentan los vehículos que entran y salen. Los sistemas de
aparcamiento también tienen una indicación en cualquier punto de cuántas plazas
están disponibles y dónde. Estos datos deberán adquirirse con otros orígenes.
Lluvia de ideas sobre el diseño | 187
• IoT y flujos de vídeo: NIA tiene varias cámaras de supervisión de tráfico instaladas.
Estas cámaras envían streaming de vídeo en vivo y la sala de control las utiliza
para dirigir recursos y adaptar los procedimientos operativos para hacer frente
al tráfico. El aeropuerto también tiene instalados sensores del IoT cerca de las
puertas para indicar el estado de cada puerta. También hay sensores destinados
a supervisar la distribución de las personas en el aeropuerto. Los datos de todos
estos orígenes (IoT y cámaras) se pueden transmitir para el análisis en tiempo real
para proporcionar a la administración de 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
utiliza para administrar todos los datos de equipaje. Esto incluye qué equipaje ha
llegado, en qué vuelo y dónde está ahora. El aeropuerto también sirve a compañías
de logística y recibe múltiples vuelos de carga todos los días. Es importante
recopilar y analizar todos los datos relevantes para servir a estas empresas de
logística para la gestión de flete.
• Fuentes de redes sociales: para proporcionar un buen servicio al cliente, es
esencial que NIA analice las opiniones y los comentarios de los pasajeros, ya que se
espera que los pasajeros utilicen las plataformas de redes sociales para compartir
sus experiencias. Esto ayuda a NIA a mejorar sus servicios y abordar cualquier
problema relacionado de inmediato.
• Otros orígenes de datos: como se ha debatido en el caso de uso 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 cualquier tendencia
o patrón que se encuentre. Esto es especialmente cierto para las operaciones del
aeropuerto donde las cosas pueden verse muy afectadas por los datos climáticos,
las temporadas de vacaciones y otros factores similares. NIA tendrá que adquirir
muchos de estos orígenes de datos externos para complementar sus propios datos
operativos.
Almacenamiento de datos
El aeropuerto estima que sus datos actuales son cercanos a 310 TB, lo que no incluye
todos los datos de los socios que deben recopilarse y almacenarse. Además, el
aeropuerto tiene como objetivo extraer el streaming de la cámara y de las fuentes de
redes sociales. Esto podría agregar 15 GB adicionales de datos por día según cifras
históricas. Esto requiere un servicio de almacenamiento de datos altamente escalable
que pueda adaptarse con flexibilidad a los volúmenes que aumentan rápidamente.
Para cumplir con este requisito, tiene sentido usar un servicio basado en el cloud como
Azure Data Lake Storage para garantizar la escalabilidad flexible y la capacidad de
almacenar datos en varios formatos.
188 | Casos de uso empresariales
Adquisición de datos
Para garantizar que los datos se ponen a disposición del personal del aeropuerto
y de los clientes de manera oportuna, los datos deben adquirirse de orígenes de datos
internos y externos de forma rápida y eficiente. En función de los orígenes de datos
que se han analizado, la solución debe atender a varias formas de adquisición de datos.
Esto incluye cargar volcados de archivos, procesar flujos de datos en tiempo real desde
las redes sociales y cámaras de supervisión, y extraer datos llamando a API externas.
El equipo de datos de NIA puede crear su propia solución de integración y adquisición,
que sería muy costosa y requeriría mucho tiempo de desarrollo, o utilizar una
herramienta de adquisición y orquestación de datos basada en el cloud, como Azure
Data Factory (ADF). ADF optimiza el proceso de adquisición de datos al ofrecer más
de 80 conectores de datos precompilados, que pueden usarse para integrarse con una
variedad de sistemas de origen, como bases de datos SQL, almacenamiento de blobs
y archivos planos.
La solución
La directora de informática de NIA, con la ayuda del equipo de business intelligence,
acordó utilizar Microsoft Azure como proveedor de cloud para crear la nueva solución.
Resumieron su razonamiento de la siguiente manera.
¿Por qué elegir Azure para NIA?
• NIA ya usa tecnologías de Microsoft como Windows 10, Office 365 y otras
herramientas. Azure tiene mejor integración nativa con todos estos servicios
que cualquier otro proveedor de cloud. Por lo tanto, tiene sentido usar Azure.
Además, NIA desea aprovechar Open Data Initiative (ODI), que permite a las
organizaciones ofrecer conocimientos empresariales excepcionales combinando
datos de comportamiento, transaccionales, 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 fue desarrollada conjuntamente por Adobe, Microsoft
y SAP.
• El uso de Azure significa que NIA puede seguir usando el mismo servidor de
identidades centralizado, que se administra con Azure Active Directory para
Office 365. Esto significa una mejor seguridad para NIA y menos gastos generales
al crear y administrar nuevas cuentas de usuario.
• Azure tiene más centros de datos regionales que otros proveedores de cloud
principales. Esto significa que Azure puede proporcionar una mayor resistencia
y disponibilidad del servicio a NIA. Además, Azure es el único proveedor de
cloud que tiene un centro de datos regional en África, que es donde se encuentra
NIA. Esto hace que Azure sea la opción perfecta, ya que cumple con todos los
requisitos.
• El equipo de business intelligence de NIA descubrió que el uso de Azure es
más rentable que usar otros proveedores de cloud. Synapse Analytics de Azure
(anteriormente conocido como SQL Data Warehouse) es 14 veces más barato que
los servicios de AWS o Google, como se ha explicado en el caso de uso 1. Además,
Azure ofrece la capacidad de usar instancias reservadas para máquinas virtuales
e instancias de computación, lo que puede ofrecer descuentos aún mayores.
También, mediante el acuerdo empresarial existente de NIA con Microsoft,
NIA puede obtener descuentos aún mejores en todos los precios minoristas de
servicios de Azure. Esto hace que sea muy difícil justificar la elección de cualquier
otro proveedor de cloud.
• NIA también tuvo en cuenta el historial de Microsoft en tecnologías para
desarrolladores y experiencia de desarrollador como una gran ventaja para Azure.
Como empresa de desarrollo de software, Microsoft ofrece la mejor experiencia
de desarrollador utilizando su gran cantidad de propiedad intelectual en este
campo. Esto significa que NIA puede tener una buena experiencia de desarrollo
e implementación al usar Azure.
190 | Casos de uso empresariales
Arquitectura de la solución
Ahora que el equipo de BI ha refinado los requisitos y se ha elegido una plataforma en el
cloud, es hora de idear un diseño seguro y escalable. El equipo de business intelligence
de NIA utilizó la siguiente arquitectura de la solución:
14. Tanto Passengers Hub como Airport Brain requieren visualización de datos.
Power BI se utiliza para crear estos informes y luego usa la función de incrustació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 del vuelo, cualquier retraso
previsto e información sobre su equipaje.
15. El panel de Power BI sirve datos de Azure Cosmos DB, que incluye datos
relacionados con los pasajeros, como se detalla en el punto 13.
Servicios de Azure
Como en el caso de uso 1, en las secciones siguientes se describen cada uno de los
servicios de Azure que se muestran en la figura 5.6. Primero se explicará por qué cada
servicio es necesario, por qué es adecuado para NIA y, a continuación, se mostrará un
breve ejemplo práctico de la parte central de su implementación. Para evitar repetirnos,
se omiten los servicios de Azure cubiertos en el caso de uso 1 a menos que NIA tenga
requisitos específicos para ese servicio.
Azure Databricks
Rol en el diseño
Azure Databricks es la plataforma unificada para limpiar, transformar, fusionar
y explorar datos. Azure Databricks es necesario para proporcionar la potencia de
cálculo necesaria para procesar datos y fomentar una mayor colaboración entre las
muchas partes interesadas.
¿Por qué usar Azure Databricks?
Además de todas las ventajas de Azure Databricks que se trataron en el caso de uso
1, Azure Databricks admite varios lenguajes, marcos de machine learning (como
TensorFlow y PyTorch), y se integra con muchas herramientas de código abierto.
El equipo de business intelligence de NIA necesita una plataforma que pueda manejar
tanto la ingeniería de datos como las cargas de trabajo de ciencia de datos. Azure
Databricks está diseñado para cumplir este propósito al permitir a los ingenieros de
datos limpiar, fusionar, transformar y ajustar datos, al mismo tiempo que capacitar a los
científicos de datos para usar cualquiera de los marcos de machine learning populares,
como TensorFlow o PyTorch.
194 | Casos de uso empresariales
Implementación de ejemplo
El siguiente fragmento de código configura una conexión a Azure Cosmos DB desde
Azure Databricks mediante el conector 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 da por hecho que NIA tiene una instancia de Azure Cosmos DB
denominada NIAAnalytics, que tiene una colección que se llama flights_data. El código
guarda un DataFrame (Spark DataFrame) flights 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"
Azure Cosmos DB
Rol en el diseño
Azure Cosmos DB tiene dos objetivos principales: almacena todos los datos de
aplicación para aplicaciones como Passengers Hub y Airport Brain, y también se utiliza
para servir datos seleccionados que están listos para el consumo por parte del personal
del aeropuerto y las partes interesadas externas (como pasajeros).
Servicios de Azure | 195
Implementación de ejemplo
Una de las cosas buenas 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 utilizando SQL o MongoDB. Los dos ejemplos
están escritos en C#:
1. El primer fragmento de código consulta los registros de la tabla de pasajeros
y busca pasajeros que se llamen Bob. Luego, itera a través de 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);
2. El segundo fragmento de código realiza una consulta similar, pero utiliza la API de
MongoDB. Primero crea MongoClientSettings y luego MongoClient, que se usa para
obtener una referencia a Azure Cosmos DB. El código supone que los ajustes ya se
han configurado en este punto. El código crea una referencia a Azure Cosmos DB
de NIA (NIAAnalytics) y consulta passengerCollection:
var settings = new MongoClientSettings();
MongoClient client = new MongoClient(settings);
Implementación de ejemplo
Azure Machine Learning Services facilita la versión, el seguimiento y el trabajo con
múltiples versiones de un conjunto de datos para fines de machine learning. El siguiente
fragmento de código primero crea un almacén de datos para indicarle a Azure Machine
Learning Services 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()
Implementación de ejemplo
El siguiente código forma parte de la plantilla de Azure Resource Manager (ARM) que
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 del norte de Sudáfrica
de Azure. La plantilla también permite que la cuenta de usuario administrador
administre el registro. La plantilla ARM tiene dos parámetros: un parámetro para el
nombre del registro y otro parámetro 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"
}
}
]
}
Implementación de ejemplo
El siguiente fragmento de código forma parte de la canalización de Azure DevOps
Services de NIA que implementa la nueva aplicación web Airport Brain. El código
aprovecha el soporte de Azure DevOps para Kubernetes mediante el uso del
tipo de tarea KubernetesManifest. La tarea implementa la imagen de Docker
en nia/aiportbrain:lastest en el AKS preconfigurado mediante NIAairport_
AksServcieConnection. El siguiente código tiene un marcador de posición para
imagePullSecret, que se usa como mecanismo de autenticación para extraer imágenes
de Azure Container Registry al destino de implementación (AKS):
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 de NIA es tener Power BI como
herramienta de visualización en NIA. Power BI se puede utilizar 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.
Servicios de Azure | 205
Al hacer clic en el botón Create embed code (Crear código de inserción), se generará
un código iFrame que se puede usar en cualquier página web HTML. El siguiente cuadro
de diálogo permite que los miembros del equipo de NIA configuren las propiedades del
código iFrame, como la anchura y la altura. Luego, al usar el código iFrame, el informe se
puede insertar en cualquier aplicación web:
Servicios de soporte
NIA quiere garantizar que la nueva solución sea segura y escalable y tenga un buen nivel
de supervisión y soporte. Azure tiene muchos servicios que permiten a organizaciones
como NIA proteger, escalar y supervisar sus soluciones. Esto incluye todos los servicios
que se enumeran en el caso de uso 1, como Azure DevOps, Azure Key Vault y Azure
Monitor.
Conocimientos y acciones | 207
Conocimientos y acciones
Azure ayudó a NIA a obtener conocimientos significativos después del análisis
y a implementar las medidas necesarias como se describe en las siguientes secciones.
Conclusión
Los aeropuertos tienen operaciones y procedimientos complejos, y funcionan las
24 horas del día. Por lo tanto, el hecho de realizar incluso pequeñas mejoras puede
proporcionar grandes ahorros al aeropuerto y puede mejorar la seguridad y la
satisfacción del cliente.
En las páginas anteriores, hemos visto un ejemplo práctico de un gran aeropuerto.
Aunque los nombres son ficticios, muchos de los números que se han debatido se basan
en un caso de uso real en el que estuvo involucrado el autor. Has visto cómo se pueden
usar análisis avanzados para mejorar la eficiencia y ahorrar millones de dólares a una
organización. Los datos se pueden usar no solo para ayudar a los aeropuertos a ahorrar
en sus costes operativos, sino también para crear una ventaja competitiva.
También has observado cómo se puede implementar una solución basada en datos con
Azure y por qué Azure es la plataforma perfecta para ejecutar tales cargas de trabajo.
Azure es asequible, seguro y brinda a las organizaciones la capacidad de ser ágiles
y escalables.
Conclusión
6
A lo largo de este libro, has estudiado distintas tecnologías que ofrece Azure para el
análisis en el cloud. Este recorrido te ha ayudado a explorar el conjunto completo de
servicios de Azure para adquirir, almacenar y analizar datos procedentes de diversos
orígenes de datos, como tablas de base de datos, archivos, streaming y otros tipos de
datos.
En este último capítulo nos centraremos en el ciclo de vida del almacén de datos
moderno, para reunir todos estos servicios y conceptos de Azure y resaltar cada una
de sus ventajas. También explicaremos cómo organizaciones de todo el mundo adoptan
algunos de estos servicios.
Adquisición de datos
Antes has aprendido que la implementación de una solución de almacenamiento de
datos moderno comienza con la adquisición de los datos en Azure. Primero debes
conectar conjuntos de datos dispares de diversos orígenes y adquirirlos en Azure. Los
datos pueden proceder de tablas RDBMS que contienen información de clientes, como
nombres, direcciones, números de teléfono y datos de tarjetas de crédito. También
puede tratarse de datos semiestructurados, procedentes de plataformas de redes
sociales (como mensajes de Twitter), o no estructurados, procedentes de sensores del
IoT. Los datos pueden originarse en un centro de datos on-premises, en servicios en el
cloud o en ambos.
Azure te permite adquirir datos mediante servicios sólidos de adquisición por lotes o en
tiempo real para que puedas capturar los eventos a medida que se generan a partir de
tus servicios y dispositivos. En esta sección analizaremos las herramientas y servicios
que se usan en este paso.
Por ejemplo, Pizza Express, una empresa con sede en el Reino Unido, usa Azure Event
Hubs con Azure Data Factory para realizar un seguimiento de la actividad de los clientes
mediante la adquisición de datos de diversos orígenes y en distintos formatos. Esto les
ayuda a comprender las preferencias de los clientes y a elaborar diversas estrategias de
retención de clientes.
Almacenamiento de datos
El almacenamiento de los datos adquiridos es el segundo paso del ciclo de vida del
almacén de datos moderno. En la siguiente sección analizaremos las herramientas y
servicios que se usan en este paso.
Azure Cosmos DB indexa automáticamente todos los datos, con independencia del
modelo que elijas. Puedes escalar el almacenamiento y el rendimiento de forma
global en regiones de Azure de forma independiente y flexible. Esto proporciona un
rendimiento previsible, coherencia y una alta disponibilidad. Es la solución idónea para
escenarios en los que se trabaja con aplicaciones cruciales distribuidas globalmente, así
como aplicaciones de comercio electrónico minorista, IoT, móviles y de juego.
Archive 360 es una organización que ayuda a sus clientes a migrar y administrar
grandes cantidades de datos de sistemas on-premises heredados en el cloud. Usa
Cosmos DB para tratar distintos tipos de datos y ayudar a los clientes a organizar,
clasificar y administrar sus datos.
Ciclo de vida del almacén de datos moderno de Azure | 217
Puedes preparar y entrenar tus datos y almacenes de datos para extraer conocimientos,
y crear modelos predictivos y prescriptivos en los datos mediante machine learning y
técnicas de aprendizaje profundo.
La siguiente sección te servirá como un breve repaso de los servicios que hemos visto
en este libro.
Azure Databricks
Azure Databricks, un servicio de clúster de análisis basado en Apache Spark, ofrece
lo mejor de Spark con cuadernos colaborativos y características empresariales. Esta
potente herramienta puede realizar transformaciones complejas a escala. Se integra con
Azure Active Directory y conectores nativos para incorporar otros servicios de datos de
Azure. A continuación se muestran algunos ejemplos de conectores de datos de Azure
Databricks:
• Azure SQL Database
• Azure Synapse Analytics
• Azure HDInsight (HDFS)
• Base de datos de SQL Server
• Base de datos de SQL Server Analysis Services
• Base de datos MySQL
• Base de datos de Oracle
• Base de datos de Access
• Excel
• Texto/CSV
• XML
• JSON
• Carpeta de archivos
• Bases de datos de PostgreSQL
• Base de datos de Sybase
• Base de datos de Tera
218 | Conclusión
Para una canalización de big data, puedes adquirir los datos (estructurados o no
estructurados) en Azure a través de Azure Data Factory por lotes, o transmitidos
prácticamente en tiempo real mediante IoT Hub, Event Hub o Kafta. Para el
almacenamiento persistente a largo plazo, puedes almacenar los datos en Azure Data
Lake Storage o Azure Blob Storage. A continuación, Azure Databricks lee los datos y
genera conocimientos innovadores mediante Spark. La ventaja de Azure Databricks
es que es una excelente plataforma para producir modelos predictivos con ciencia de
datos.
Zeiss, un fabricante líder de sistemas ópticos de alta gama, tenía problemas para
escalar su infraestructura para analizar volúmenes masivos de datos no estructurados.
Azure Databricks les proporcionó una plataforma de análisis unificada que resolvía sus
problemas de escalabilidad y les ofrecía un servicio unificado, de alta escalabilidad y
totalmente administrado. Azure Databricks permitió a Zeiss combinar datos por lotes
con datos de IoT no estructurados y simplificar el proceso de ingeniería de datos.
Azure Stream Analytics
Azure Stream Analytics usa un potente motor de procesamiento de eventos que analiza
patrones y relaciones a partir de los datos en tiempo real capturados de dispositivos,
sensores y otros orígenes. Junto con Azure Event Hubs, Azure Stream Analytics te
permite adquirir millones de eventos y detectar anomalías, alimentar paneles, buscar
patrones o automatizar tareas controladas por eventos mediante un lenguaje similar a
SQL en tiempo real.
Volviendo a un ejemplo anterior, Piraeus Bank (la entidad financiera griega) puede
supervisar la experiencia del usuario y el recorrido del cliente online con Azure Stream
Analytics y Power BI.
Azure Cognitive Services
Azure Cognitive Services permite a los desarrolladores agregar fácilmente
características cognitivas a sus aplicaciones a través de un conjunto de servicios de
IA precompilados de alto nivel para visionado, habla, texto, lenguaje, conocimiento y
búsquedas. La ventaja de usar Azure Cognitive Services es que podemos incorporar el
reconocimiento de imágenes y las traducciones de texto como parte del proceso de
análisis de datos.
Por ejemplo, IndiaLends (un mercado de préstamos digitales), utiliza algoritmos de
análisis para conectar a los principales bancos de la India con millones de prestatarios.
IndiaLends usa Azure Cognitive Services para tareas como procesamiento de texto,
procesamiento de imágenes y análisis de opiniones para una mejor resolución de las
consultas de los clientes.
Ciclo de vida del almacén de datos moderno de Azure | 219
Visualización y más
Azure Analysis Services y Power BI proporcionan opciones eficaces para buscar y
compartir conocimientos obtenidos a partir de los datos. Mientras que Azure Synapse
Analytics 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 proteger el acceso a los datos, puedes asegurarte de que Azure Active Directory
autentique a los usuarios, de forma que solo los grupos de usuarios previstos puedan
consumir los datos según tus especificaciones.
220 | Conclusión
Resumen
A lo largo de este libro, hemos visto las diferentes etapas que intervienen en la
realización de análisis de datos en el cloud. Los ejemplos de implementaciones y casos
de uso muestran cómo organizaciones reales han usado las tecnologías de Azure en
distintos sectores para sacar el máximo partido a sus datos, lo que te da una idea de
cómo puedes aprovechar esta potente tecnología para ayudar a tu negocio.
El modelo en el cloud de almacenamiento de datos moderno no solo es flexible y
escalable, sino que también resulta rentable gracias a sus propiedades flexibles únicas.
Las cargas de trabajo de análisis son uno de los contextos en los que la flexibilidad se
manifiesta especialmente.
Ahora que has llegado al final de este libro, posees suficientes conocimientos sobre el
almacén de datos moderno y sobre los servicios y herramientas necesarios para crear tu
propia solución de análisis de datos completa. Lo mejor es que empieces poco a poco,
integrando algunas de las tecnologías presentadas en este libro en tu flujo de trabajo
existente, y que luego agregues más capacidades gradualmente en el futuro, a medida
que tus necesidades evolucionen.
Obtén más información acerca del ciclo de vida del almacén de datos moderno.
Crea tu suscripción gratuita a Azure.
Te deseamos mucha suerte en tu experiencia con el almacén de datos moderno y el
análisis en el cloud.