Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Azure Aoriginal
Azure Aoriginal
Microsoft Azure
Segunda edición
Prólogo i
Power BI .................................................................................................................. 68
Características y ventajas ............................................................................................ 69
Power BI y Azure Synapse Analytics .................................................................... 70
Características y ventajas ............................................................................................ 71
Guía de inicio rápido (modelado y visualización de datos) ..................................... 72
Machine learning en Azure ................................................................................... 89
ML.NET ........................................................................................................................... 91
Machine learning automatizado ................................................................................ 91
Cognitive Services ......................................................................................................... 92
Bot Framework .............................................................................................................. 92
Características y ventajas de Azure Machine Learning ........................................... 93
Kit de desarrollo de software (SDK) ............................................................................ 94
Designer ......................................................................................................................... 94
AutoML ........................................................................................................................... 94
Objetivos de implementación flexible ....................................................................... 94
Operaciones de machine learning aceleradas (MLOps) .......................................... 94
Azure Machine Learning y Azure Synapse Analytics ......................................... 96
Guía de inicio rápido (Azure Machine Learning) ....................................................... 96
Requisitos previos ......................................................................................................... 96
Creación de un modelo de machine learning mediante Designer ......................... 99
Resumen ............................................................................................................... 103
Capítulo 4 Casos prácticos empresariales 105
Índice 161
Prólogo
>
Acerca de
En esta sección se presenta brevemente a los autores y el revisor, la portada de este libro,
las aptitudes técnicas que necesitará para empezar y los requisitos de hardware y software
necesarios para completar todas las actividades y ejercicios incluidos.
ii | Prólogo
Objetivos de aprendizaje
• Explorar los conceptos de los almacenamientos de datos modernos y las
canalizaciones de datos.
• Descubrir consideraciones de diseño únicas mientras aplica una solución
de análisis en la nube.
• Diseñar una canalización de análisis de extremo a extremo en la nube.
• Diferenciar entre datos estructurados, semiestructurados y no estructurados.
• Seleccionar un servicio basado en la nube para sus soluciones de análisis de datos.
• Usar los servicios de Azure para procesar, almacenar y analizar datos
de cualquier tamaño.
iv | Prólogo
Público
Este libro está diseñado para beneficiar a ingenieros de software, desarrolladores,
consultores en la nube y a cualquier persona que esté dispuesta a aprender el proceso
de derivación de información empresarial a partir de macrodatos con Azure.
Aunque no es necesario, una comprensión básica de los conceptos de análisis de datos
como la transmisión de datos, los tipos de datos, el ciclo de vida del machine learning
y los contenedores de Docker lo ayudará a aprovechar el libro al máximo.
Enfoque
Análisis en la nube con Microsoft Azure presenta conceptos complejos con ejemplos
reales para que pueda obtener experiencia práctica y, al mismo tiempo, comprender
los aspectos básicos. El libro contiene numerosas guías de inicio rápido que le permiten
aprender más rápido.
Convenciones
A continuación se muestran las palabras de código en el texto, los nombres de bases de
datos, los nombres de carpetas, los nombres de archivo y las extensiones de archivos.
El siguiente fragmento de código hace uso del servicio vinculado de Azure SQL
Database para crear un conjunto de datos que hace referencia a sales_table
en la base de datos SQL de Coolies:
{
"name": "CooliesSalesDataset",
"properties":
{
"type": "AzureSqlTable",
"linkedServiceName": {
"referenceName": "CooliesSalesAzureSqlDbLS",
"type": "LinkedServiceReference"
},
"schema": [ {optional} ],
"typeProperties": {
"tableName": "sales_table"
}
}
}
Instalación y configuración
Puede instalar Power BI Desktop (https://packt.live/37hUTmK) y empezar a crear
informes interactivos.
Presentación del
1
análisis en Azure
Según una encuesta de Dresner Advisory Services en 2019, un máximo histórico
del 48 % de las organizaciones afirma que la inteligencia empresarial en la nube es
fundamental o muy importante para llevar a cabo sus operaciones comerciales. El
estudio de mercado sobre informática en la nube e inteligencia empresarial también
mostró que los equipos de ventas y marketing obtienen el máximo valor de los análisis.
A medida que las empresas crecen, generan cantidades enormes de datos todos los
días. Estos datos provienen de distintos orígenes, como teléfonos móviles, sensores
de la Internet de las Cosas (IoT) y varios productos de software como servicio (SAAS),
como sistemas Customer Relationship Management (CRM). Las empresas y los
negocios deben escalar y modernizar su arquitectura e infraestructura de datos
a fin de enfrentar la demanda de mantenerse competitivos en sus respectivos sectores.
2 | Presentación del análisis en Azure
También descubrirá por qué Microsoft Azure es la plataforma preferida para realizar
análisis en la nube. Por último, estudiará los conceptos fundamentales de un
almacenamiento de datos moderno y las canalizaciones de datos.
El poder de los datos | 3
Nota
Puede obtener más información sobre datos abiertos aquí.
4 | Presentación del análisis en Azure
Análisis de macrodatos
Con frecuencia, el término "macrodatos" se usa para describir grandes volúmenes de
datos que las herramientas tradicionales no pueden administrar. Se puede caracterizar
con las cinco V:
• Volumen: indica el volumen de datos que se debe analizar para el análisis de
macrodatos. Hoy en día, administramos conjuntos de datos más grandes que
nunca antes. Esto es posible ahora gracias a la disponibilidad de productos
electrónicos como dispositivos móviles y sensores de IoT que se han adoptado
ampliamente en todo el mundo con fines comerciales.
• Velocidad: se refiere a la velocidad a la que se generan los datos. Los dispositivos
y las plataformas, como los que acabamos de mencionar,
generan constantemente datos a gran escala y a gran velocidad. Esto hace que
sea necesario recopilar, procesar, analizar y presentar datos a gran velocidad.
• Variedad: se refiere a la estructura de los datos que se generan. Los orígenes de
datos son incompatibles, tienen una combinación de datos estructurados, no
estructurados y semiestructurados (obtendrá más información sobre esto en la
sección Reunir sus datos).
• Valor: se refiere al valor de los datos que se extraen. Es posible que los datos
accesibles no siempre sean valiosos. Con las herramientas adecuadas, puede
obtener valor de los datos de una manera rentable y escalable.
• Veracidad: es la calidad o credibilidad de los datos. Por lo general, un conjunto
de datos sin procesar contiene mucho ruido (o datos que necesitan limpieza)
y sesgo, por lo que será necesario limpiarlo. Tener un gran conjunto de datos
no es útil si la mayoría de estos no son precisos.
El análisis de macrodatos es el proceso de encontrar patrones, tendencias y
correlaciones en datos no estructurados para obtener conocimientos significativos
que den forma a las decisiones empresariales. Estos datos no estructurados suelen
tener un tamaño de archivo grande (como imágenes, videos y gráficos sociales).
Esto no significa que las bases de datos relacionales no sean pertinentes para los
macrodatos. De hecho, las plataformas de almacenamiento de datos moderno como
Azure Synapse Analytics (anteriormente conocido como Azure SQL Data Warehouse)
admiten datos estructurados y semiestructurados (como JSON) y se pueden escalar
infinitamente para admitir de terabytes a petabytes de datos. Con Microsoft Azure,
cuenta con la flexibilidad de elegir cualquier plataforma. Estas tecnologías se pueden
complementar entre sí para lograr una sólida canalización de análisis de datos.
Estos son algunos de los mejores casos prácticos del análisis de macrodatos:
• Análisis de las redes sociales: a través de sitios de redes sociales como Twitter,
Facebook e Instagram, las empresas pueden conocer lo que los clientes dicen sobre
sus productos y servicios. El análisis de las redes sociales permite que las empresas
se dirijan a su público mediante las preferencias de usuario y las tendencias del
La Internet de las Cosas (IoT) | 5
Machine learning
A medida que aumenta el tamaño de sus datos, son muchas las oportunidades que
se abren para que los negocios vayan más allá de comprender las tendencias y los
patrones empresariales. El machine learning y la inteligencia artificial son ejemplos de
innovaciones que puede aprovechar y utilizar con los datos. Actualmente, desarrollar
sus funcionalidades de inteligencia artificial y ML es relativamente sencillo gracias
a la disponibilidad de tecnologías que son requisito y a la capacidad de escalar su
almacenamiento y proceso en la nube.
El machine learning y la inteligencia artificial son términos que a menudo se mezclan.
En pocas palabras, el machine learning es un subconjunto (o aplicación) de inteligencia
artificial. El machine learning tiene como objetivo permitir que los sistemas aprendan
a partir de conjuntos de datos anteriores y se adapten automáticamente sin necesidad
de intervención humana. Esto es posible gracias a una serie de algoritmos que se
aplican al conjunto de datos; el algoritmo analiza los datos casi en tiempo real y luego
presenta posibles acciones en función de la precisión o la confianza derivadas a partir
de experiencias previas.
El término "learning", que significa "aprendizaje", indica que el programa aprende
constantemente a partir de los datos que se le proporcionan. El objetivo del machine
learning va más por el lado de obtener precisión, no el éxito. Existen tres categorías
principales de algoritmos de machine learning: supervisados, no supervisados
y refuerzo.
Los algoritmos de machine learning supervisados crean una función de asignación para
asignar las variables de entrada con la variable de salida. El algoritmo usa los conjuntos
de datos existentes para entrenarse de manera automática para así predecir la salida.
La clasificación es una forma de ML supervisado que se puede usar en aplicaciones
como la categorización de imágenes o la segmentación de clientes, que se usa para
campañas de marketing específicas.
Por otro lado, el machine learning no supervisado es cuando se deja que un programa
encuentre un patrón propio sin usar ninguna etiqueta. Un buen ejemplo es comprender
los patrones de compra de los clientes al comprar productos. Se obtienen agrupaciones
inherentes (agrupación en clústeres) de acuerdo con los comportamientos de compra
y el programa puede asociar clientes y productos según los patrones de compra. Por
ejemplo, puede discernir que los clientes que compran el Producto A también tienden
a comprar el Producto B. Este es un ejemplo de un algoritmo de recomendación basado
en el usuario y un análisis basado en el mercado. Con el tiempo, lo que esto significaría
para los usuarios es que cuando compran un artículo determinado, como un libro,
también se anima al usuario a que compre otros libros que pertenezcan a la misma
serie, género o categoría.
Inteligencia artificial (IA) | 7
Microsoft está dando un ejemplo con su iniciativa AI for Good, que tiene el objetivo de
hacer que el mundo sea más sostenible y accesible a través de la inteligencia artificial.
Un proyecto especialmente interesante es Inteligencia artificial para el leopardo de las
nieves, donde Microsoft usa la tecnología de la inteligencia artificial para detectar los
leopardos de las nieves (que son casi invisibles en entornos nevados) a fin de proteger
esta especie en peligro de extinción. Explorar la inteligencia artificial y el aprendizaje
profundo (la capacidad de aprender sin supervisión humana), específicamente los
aspectos de la fórmula y la ciencia de datos, no son el foco de este libro, pero sí se
abordarán algunos conceptos en capítulos posteriores (obtenga más información al
respecto en el Capítulo 3, Procesamiento y visualización de los datos).
DataOps
Si quiere ser eficiente y ágil en lo que respecta a la implementación del análisis de datos
en su empresa, necesita la cultura y los procesos correctos. Aquí es donde aparece el
concepto de DataOps. DataOps elimina la barrera de coordinación entre los equipos de
datos (analistas, ingenieros y científicos) y de operaciones (administradores y responsables
de operaciones) para alcanzar la velocidad y precisión en el análisis de datos.
DataOps trata sobre una cultura de colaboración entre distintos roles y funciones. Los
científicos de datos tienen acceso a datos en tiempo real para explorarlos, prepararlos
y servir los resultados. Los procesos y flujos automatizados resultan invaluables para
este esfuerzo de colaboración entre analistas y desarrolladores, ya que proporcionan
un acceso fácil a estos datos a través de herramientas de visualización. Los datos
relevantes se deben servir a los usuarios finales a través de aplicaciones web o móviles;
por lo general, esto se puede hacer con una interfaz de programación de aplicaciones
(API). Para los directores generales, DataOps representa una toma de decisiones más
rápida, ya que les permite supervisar su negocio a un alto nivel sin tener que esperar
a que los responsables de los equipos les informen sobre ello. En la Figura 1.1 se intenta
explicar la idea de una cultura colaborativa de DataOps:
Una vez que un equipo alcanza la velocidad y precisión deseadas al probar sus hipótesis
(como la probabilidad de que alguien compre un producto según sus características
y comportamiento), puede obtener mejores conocimientos. Cuando eso ocurre, cuenta
con puntos de decisión más razonables y prácticos para las partes interesadas del
negocio que minimizan los riesgos y maximizan los beneficios.
Azure le otorga la flexibilidad de elegir el mejor enfoque para resolver un problema por
sí mismo, en lugar de verse obligado a ceder un producto menos adaptable para realizar
una función antinatural. Tampoco está limitado solo a SQL Server. También tiene la
flexibilidad de elegir otros tipos de bases de datos o almacenamiento, ya sea a través
de un servicio instalado en un servidor Linux o una solución en contenedores, o bien
una plataforma administrada (como Azure Cosmos DB para sus instancias de Cassandra
y MongoDB). Esto es muy importante porque, en el mundo real, los distintos escenarios
requieren soluciones, herramientas y productos distintos.
Microsoft Azure ofrece una plataforma integral, desde Azure Active Directory para
administrar su identidad de usuario y acceso, hasta las ofertas de Azure IoT (como
IoT Hub) para recopilar datos de cientos y miles de dispositivos de IoT. También
proporciona servicios como herramientas de desarrollo y opciones de hospedaje en la
nube para que sus desarrolladores se pongan al día, así como distintas herramientas de
análisis y machine learning que permiten a los científicos de datos, ingenieros de datos
y analistas de datos ser más productivos (busque más información al respecto en el
Capítulo 3, Procesamiento y visualización de los datos).
El espectro completo de los servicios de Azure es demasiado amplio para abarcarlo
aquí, por lo que este libro se centrará en el conjunto de productos clave de
almacenamiento de datos e inteligencia empresarial: Azure Data Lake, Azure Synapse
Analytics, Power BI y Azure Machine Learning.
¿Por qué Microsoft Azure? | 11
Seguridad
Microsoft considera que la prioridad principal es la seguridad. Cuando se trata de
los datos, la privacidad y la seguridad no son negociables; siempre habrá amenazas.
Azure tiene las características de seguridad y privacidad más avanzadas del espacio
de análisis. Los servicios de Azure admiten la protección de datos a través de redes
virtuales (VNets) para que, aunque estén en la nube, el Internet público no pueda
tener acceso a los puntos de datos. Solo los usuarios de la misma red virtual pueden
comunicarse entre sí. Para las aplicaciones web, obtiene un firewall de aplicaciones
web (WAF) proporcionado por Azure Application Gateway, que garantiza que solo las
solicitudes válidas puedan tener acceso a su red.
Con el control de acceso basado en roles (autorización), puede estar seguro de que
solo las personas con los roles correctos, como los administradores, tengan acceso
a componentes específicos y a las funcionalidades de diferentes recursos. Por otro
lado, la autenticación garantiza que si no cuenta las credenciales correctas (como las
contraseñas), no podrá tener acceso a un recurso. La autorización y la autenticación
están integradas en varios servicios y componentes de Microsoft Azure con la ayuda
de Azure Active Directory.
Azure también proporciona un servicio llamado Azure Key Vault. Key Vault permite
almacenar y administrar de forma segura secretos y contraseñas, crear claves de
cifrado y administrar certificados para que las aplicaciones no tengan acceso directo
a claves privadas. Si sigue este patrón con Key Vault, no es necesario codificar de forma
rígida sus secretos y contraseñas en el repositorio de scripts y de código fuente.
Azure Synapse Analytics usa ML e IA para proteger sus datos. En Azure SQL, Microsoft
proporciona seguridad de datos avanzada para garantizar que sus datos estén
protegidos. Esto incluye comprender si la base de datos tiene vulnerabilidades, como
números de puerto, que están disponibles públicamente. Estas funcionalidades también
permiten cumplir con varios estándares, como el Reglamento general de protección de
datos (RGPD), al garantizar que los datos del cliente que se consideran confidenciales
se cataloguen como secretos. Azure SQL también ha anunciado recientemente sus
nuevas características, seguridad de nivel de fila (RLS) y seguridad de nivel de
columna (CLS), para controlar el acceso a filas y columnas en una tabla de base de
datos, en función de las características del usuario.
Escala en la nube
Azure cambió el sector al hacer que el análisis de datos fuera rentable. Antes de la
adopción masiva de la informática en la nube, para planificar el análisis de datos con
terabytes, o incluso petabytes, de datos, era necesario planificar adecuadamente las
cosas y asegurarse de tener los gastos de capital para llevarlas a cabo. Esto significa que
solo para empezar se debería contar con una infraestructura inicial muy alta y costos
de servicios profesionales. Pero, con Azure, puede empezar desde abajo (muchos de los
servicios tienen niveles gratuitos). Puede escalar o reducir vertical u horizontalmente
sus recursos en la nube en minutos. Azure ha democratizado la funcionalidad de
escalado al hacerla económicamente viable y accesible para todos, tal como se muestra
en la Figura 1.3:
Microsoft Azure actualmente cuenta con más de 60 regiones de centro de datos que
admiten más de 140 países. Algunas empresas y sectores empresariales requieren que
sus datos estén hospedados en el mismo país que las operaciones comerciales. Con
la disponibilidad de distintos centros de datos en todo el mundo, es fácil expandirse
a otras regiones. Este enfoque de varias regiones también es beneficioso en términos
de hacer que sus aplicaciones estén altamente disponibles.
¿Por qué Microsoft Azure? | 13
Reducción de costos
Debido a las demandas de escalado, las empresas y los negocios deben tener un
mecanismo para expandir su infraestructura de datos de una manera rentable
y financieramente viable. Es demasiado costoso configurar un almacenamiento
de datos local. Las siguientes son solo algunas de las consideraciones económicas:
• El tiempo de espera para la entrega del servidor y los procesos de adquisición
internos asociados.
• Costos de redes y otros costos de infraestructura física, como la refrigeración
de hardware y la administración de inmuebles de los centros de datos.
• Costos de servicios profesionales asociados con la configuración y el
mantenimiento de estos servidores.
• Costos de licencia (si hay).
• La productividad perdida de personas y equipos que no pueden enviar sus
productos más rápido.
Con un almacenamiento de datos moderno, puede crear nuevos servidores de alto
rendimiento con tarjetas gráficas de alto rendimiento a petición. Y con el uso de un
proveedor de nube como Microsoft Azure, solo tendrá que pagar por el tiempo que use
estos servidores. Puede apagarlos si ya no los necesita. No solo puede desactivarlos
a petición, sino que si resulta que un servicio en particular no es adecuado para sus
necesidades, puede eliminar estos recursos y simplemente proporcionar otro servicio.
Azure también ofrece un descuento para instancias "reservadas" que se compromete
a usar durante un período de tiempo específico. Son muy útiles para las bases de datos,
soluciones de almacenamiento y aplicaciones que necesitan estar en funcionamiento
ininterrumpido, con un tiempo de inactividad mínimo.
16 | Presentación del análisis en Azure
Impulso de la innovación
Las empresas necesitan innovar constantemente en este mercado tan competitivo;
de lo contrario, aparecerá algún competidor y se quedará con la cuota de mercado.
Obviamente, nadie puede predecir el futuro con una precisión del 100 %, por lo que las
empresas necesitan tener un mecanismo para explorar cosas nuevas en función de sus
conocimientos.
Un buen ejemplo de esto son los sectores de subcontratación de procesos
empresariales (BPO) y telecomunicaciones (telco), donde hay petabytes de datos
todavía no explorados. Con el almacenamiento de datos moderno de Microsoft Azure,
los actores de estos sectores pueden tener la infraestructura para explorar los datos.
Con Azure Synapse Analytics, Power BI y Azure Machine Learning, pueden explorar sus
datos para impulsar las decisiones económicas. Tal vez puedan llegar a un modelo de
datos que pueda detectar acciones fraudulentas o comprender mejor las preferencias
y las expectativas de sus clientes para mejorar los índices de satisfacción. Con los
análisis avanzados, estas empresas pueden llegar a tomar decisiones relevantes hoy
(y posiblemente en el futuro) y no solo se limitan a analizar datos históricos.
Para entender qué significa que un almacenamiento de datos sea moderno, primero
debe comprender cómo se crea y administra uno tradicional. Esto se reduce a dos
conceptos principales:
• Proceso: se refiere a la capacidad de procesar los datos y darles sentido.
Puede ser en forma de consulta de base de datos para que los resultados
sean accesibles a otra interfaz, como las aplicaciones web.
• Almacenamiento: se refiere a la capacidad de mantener los datos para
que sean accesibles en cualquier momento en el futuro.
De manera similar a lo que ocurre con los archivos de registro, los dispositivos y
sensores de IoT se usan para capturar mediciones y errores sobre un determinado
elemento. La principal diferencia es que estos dispositivos funcionan, por lo general,
en un gran número de clústeres (de cientos a miles de dispositivos) y transmiten datos
de manera continua. Los datos generados por estos dispositivos son semiestructurados
o no estructurados, ya que están en formato JSON o XML. Las tecnologías modernas,
como los servicios de Azure IoT, ya resuelven estas complejidades con servicios
como Azure IoT Hub, que agrega todos estos datos de varios sensores y los exporta
continuamente a un origen de datos. En algunas ocasiones puede clasificar estos datos
como semiestructurados, ya que estos rastros y registros son aspectos que un sistema
puede comprender fácilmente.
Las plataformas de redes sociales y Microsoft Graph proporcionan datos
semiestructurados. Se clasifica de esta manera porque consultar todos los tweets de
Twitter sobre un tema no es suficiente. En realidad, los resultados no tienen mucho
sentido hasta que se analizan. El objetivo principal es discernir patrones y anomalías.
Por ejemplo, es posible que quiera identificar tendencias sobre noticias y temas, pero
también eliminar datos que no son relevantes, como los tweets que provienen de
cuentas falsas.
Creación de una canalización de datos | 21
Ingesta de datos
La ingesta de datos significa transferir datos (estructurados, semiestructurados y no
estructurados) desde el origen a su almacenamiento, lago de datos o almacenamiento de datos.
Esto implicaría algo como Azure Synapse Analytics mediante la integración de datos
para transferir datos de diversos orígenes, como bases de datos locales y productos
SaaS, a un lago de datos. Este paso le permite administrar sus flujos de trabajo de ETL y
ELT sin necesidad de reconciliación manual.
Este no es un proceso único. Idealmente, es algo que se programa o establece para que
se desencadene a fin de que el lago de datos obtenga una instantánea histórica de vez
en cuando. Un ejemplo de esto es una conexión desde sus herramientas de CRM, como
Microsoft Dynamics CRM, a Azure Data Lake a través de Azure Synapse Analytics con la
integración de datos. Esto permitirá que los científicos e ingenieros de datos exploren
estos datos en diferentes intervalos de tiempo sin interrumpir la aplicación CRM real.
Almacenamiento de datos
Una vez que se han ingerido los datos a partir de varios orígenes de datos, todos
los datos se almacenarán en un lago de datos. Los datos que residen dentro del lago
seguirán en formato sin procesar e incluyen formatos de datos estructurados y no
estructurados. En este punto, los datos no aportarán mucho valor para generar
conocimientos empresariales.
Preparación de datos
Una vez que se ingieren los datos, el siguiente paso es la preparación de datos. Esta es
una fase en la que los datos de diferentes orígenes de datos se procesan previamente
para analizar los datos. Un ejemplo de esto es consultar datos de una API e insertarlos
en una tabla de base de datos. Azure Synapse Analytics con integración de datos le
permite organizar esta preparación de datos. Azure Synapse Analytics a través de una
instancia hospedada de Apache Spark puede ser útil para preparar los datos, ya que
puede ejecutar clústeres al mismo tiempo para procesar grandes cantidades de datos
en cuestión de segundos o minutos.
Por lo general, las integraciones de servicios y el modelado de datos se hacen con una
plataforma de almacenamiento de datos como Azure Synapse Analytics. Completar las
consultas complejas puede llevar horas o días. Pero con la eficacia de la nube, puede
escalar Azure Synapse Analytics para hacer estas consultas más rápido, convirtiendo
los días en horas y las horas en minutos.
24 | Presentación del análisis en Azure
Visualización de datos
La visualización de datos es una forma eficaz de analizar el rendimiento mediante
gráficos y tablas. Esto se llama "inteligencia empresarial". Herramientas como Power
BI permiten que los analistas aprovechen al máximo los datos. Al trabajar con Azure,
no solo está limitado a Power BI, sino que también puede usar otros servicios de
visualización, como Tableau. La visualización de datos proporciona una representación
rica y significativa de sus datos que agrega valor empresarial para usted y sus clientes.
El equipo puede ver tendencias, valores atípicos y patrones que ayudan a tomar
decisiones basadas en los datos.
Las diferentes partes interesadas de la organización pueden colaborar después
de analizar los diferentes parámetros de rendimiento. ¿Su empresa vende bien los
productos? ¿En qué regiones obtiene la mayoría de las ventas? Con datos enriquecidos
que respaldan sus suposiciones, las partes interesadas del negocio, como los directores
generales, pueden tomar decisiones razonables basadas en datos para minimizar los
riesgos. ¿Qué líneas de productos debe expandir? ¿Dónde debería expandirse más?
Estas son algunas de las preguntas comunes que podrá responder una vez que tenga un
análisis de datos más enriquecido.
Los analistas pueden usar herramientas de escritorio o aplicaciones web para crear
representaciones significativas de sus datos. Este es un ejemplo de una vista de
escritorio de Power BI donde un usuario puede analizar los datos de su empresa
y visualizarlos en gráficos:
Una vez que se generan los informes, se pueden exportar a un espacio de trabajo
donde las personas pueden trabajar juntas para mejorar los informes. Este es una vista
de ejemplo del mismo informe en una aplicación móvil. Los usuarios pueden agregar
comentarios y anotaciones al informe, lo que permite un bucle de comentarios más
rápido para los analistas:
Power BI permite crear paneles personalizados ricos que se adapten mejor a los
requisitos y a la marca. En comparación con las presentaciones con una instantánea
de un gráfico de la semana pasada o del mes pasado, este mecanismo permite
actualizar el mismo informe una y otra vez.
26 | Presentación del análisis en Azure
Resumen
En este capítulo establecimos la importancia del análisis de datos. También se
destacaron varios motivos por los cuales Microsoft Azure es una plataforma ideal
para lograr funcionalidades de inteligencia empresarial en la nube. Hemos hablado
sobre algunos conceptos fundamentales en torno a los macrodatos, ML y DataOps.
Además, pudo conocer algunos de los impulsores comerciales que tuvo su empresa
para adoptar el análisis de datos en la nube. Por último, obtuvo una vista general
de lo que se necesita para tener un almacenamiento de datos moderno.
En el próximo capítulo, verá cómo empezar a diseñar un almacenamiento
de datos moderno con Azure Synapse Analytics y tecnologías relacionadas.
Presentación
2
del espacio de
trabajo de Azure
Synapse Analytics
y Synapse Studio
En el capítulo anterior, se le presentó Azure y conoció los tipos de plataformas,
herramientas y recursos que ofrece Azure para facilitar la creación de soluciones
de almacenamiento de datos.
En este capítulo, nos centraremos en la nueva experiencia unificada en el espacio de
trabajo de Azure Synapse Analytics y Synapse Studio. Trataremos los siguientes temas:
• Los lagos de datos, que proporcionan información útil sobre clientes, productos,
empleados y procesos a través de distintas metodologías de análisis.
Ambos sistemas de análisis son cruciales para las empresas y funcionan de manera
independiente entre sí. Esto puede llevar a tomar decisiones no fundamentadas.
Al mismo tiempo, las empresas necesitan generar conocimientos a partir de todos
sus datos para seguir siendo competitivas e innovar sus procesos con el fin de obtener
mejores resultados.
Los clientes que quieren crear su propia canalización de datos integral deberán seguir
los pasos que se describen a continuación:
Hasta ahora, cada uno de estos pasos requería una herramienta distinta y, dada la
amplia oferta de herramientas, servicios y aplicaciones disponibles, elegir la solución
correcta puede ser una tarea abrumadora.
Son varios los servicios capaces de ingerir, cargar, preparar y ofrecer datos. También
hay varios servicios que usar para la limpieza de datos, basados en el lenguaje de
preferencia del desarrollador. Algunos desarrolladores prefieren Spark y otros
pueden querer usar SQL, mientras que otros prefieren usar entornos sin código
para transformar los datos.
Incluso una vez que se elige la colección de herramientas correcta, hay que considerar
la pronunciada curva de aprendizaje hasta familiarizarse con ellas, además de las
dificultades logísticas que implica mantener una canalización de datos en distintas
plataformas y lenguajes. Con todos estos problemas, implementar y mantener una
plataforma de análisis en la nube puede resultar difícil.
30 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio
Por ejemplo, imagine que su empresa necesita idear un modelo de seguridad único
para proteger todos sus servicios y cumplir con las pautas internas de cumplimiento
más recientes. Esto podría parecer una tarea sencilla al principio, pero lo cierto es
que es bastante compleja. Es necesario identificar rápidamente cuál es ese "modelo de
seguridad único" y, luego, averiguar cuál es el modelo de implementación de todos sus
servicios. Debe decidir cómo implementar la alta disponibilidad y la recuperación ante
desastres para cada uno de estos servicios. Y, por último, debe tener en cuenta todas
las responsabilidades que implica la administración del ciclo de vida, lo que incluye
supervisar estos servicios para garantizar que funcionan correctamente. Reunir todos
estos servicios no es tarea fácil y en el pasado ha requerido una planificación compleja.
Con Azure Synapse Analytics, los clientes pueden desarrollar con facilidad proyectos
de inteligencia empresarial y machine learning. Azure Synapse Analytics está
profundamente integrado con Power BI y Azure Machine Learning para ampliar
considerablemente el descubrimiento de información a partir de todos los datos
y aplicar modelos de machine learning a todas sus aplicaciones inteligentes. El usuario
puede reducir considerablemente el tiempo de desarrollo de los proyectos de BI y de
machine learning con un servicio de análisis ilimitado que permite aplicar inteligencia
de manera fluida sobre los datos más importantes (desde Dynamics 365 y Office 365
hasta implementaciones de SaaS compatibles con Open Data Initiative) y compartir
datos fácilmente con solo unos clics.
Todo esto se proporciona en una experiencia única que incluye editores de consultas
y cuadernos para compartir y usar datos de manera colaborativa, así como recursos
y código para desarrolladores de SQL y Spark.
Básicamente, Azure Synapse Analytics se encarga de todo.
Haga clic en Add (Agregar) para crear un nuevo espacio de trabajo de Azure
Synapse Analytics como se muestra en la Figure 2.4:
Nota
Si ve un mensaje que indica que The Synapse resource provider needs to
be registered to this subscription (El proveedor de recursos de Synapse
debe estar registrado en esta suscripción), en Subscription (Suscripción) en
la página Create Synapse Workspace (Crear espacio de trabajo de Synapse),
simplemente haga clic en el vínculo para registrarse como se le indicó:
Figura 2.6: Crear una nueva cuenta de Azure Data Lake Storage Gen2
5. Para File system name (Nombre del sistema de archivos), haga clic en Create new
(Crear nuevo) y asígnele un nombre, como se muestra en la Figura 2.7. En nuestro
ejemplo, vamos a nombrarlo users (usuarios):
Figura 2.8: Crear un espacio de trabajo de Synapse: pestaña Basics (Opciones básicas)
38 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio
En esta sección, le hemos mostrado cómo puede comenzar a usar Azure Synapse
Analytics mediante la creación de su espacio de trabajo de Azure Synapse Analytics.
A continuación, continuaremos nuestro recorrido visitando Synapse Studio.
3. En el espacio de trabajo de Azure Synapse Analytics, haga clic en Open (Abrir) para
iniciar Synapse Studio:
Figura 2.14: Seleccionar su espacio de trabajo de Azure Synapse Analytics para continuar
2. Escriba los detalles del grupo de SQL como se muestra. Luego, haga clic en
Review + create (Revisar y crear):
Figura 2.17: Crear un grupo de SQL dedicado: pestaña Basics (Opciones básicas)
Consejo
Un grupo de SQL, siempre y cuando permanezca activo, consumirá recursos
facturables. Para minimizar los costos, puede pausar el grupo cuando
no lo esté usando.
El siguiente script de SQL crea una tabla llamada dbo.TaxiTrip en nuestro grupo de SQL
dedicado e ingiere más de 2,8 millones de filas de los datos de NYC Taxi en la tabla dbo.
TaxiTrip:
CREATE TABLE [dbo].[TaxiTrip]
(
[DateID] int NOT NULL,
[MedallionID] int NOT NULL,
[HackneyLicenseID] int NOT NULL,
[PickupTimeID] int NOT NULL,
[DropoffTimeID] int NOT NULL,
[PickupGeographyID] int NULL,
[DropoffGeographyID] int NULL,
[PickupLatitude] float NULL,
[PickupLongitude] float NULL,
[PickupLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DropoffLatitude] float NULL,
[DropoffLongitude] float NULL,
[DropoffLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Presentación de Synapse Studio | 47
7. Puede cambiar rápidamente la vista a Chart (Gráfico) para ver una visualización
de los resultados como un gráfico de líneas:
Ahora que le hemos mostrado lo fácil que es aprovisionar un grupo de SQL dedicado,
ingerir datos y explorar los datos, dirigiremos nuestra atención a otra funcionalidad
clave de Azure Synapse Analytics: el grupo de Apache Spark.
En las siguientes secciones, le mostraremos cómo crear un grupo de Apache Spark
en Azure Synapse Analytics, cargar los datos de NYC Taxi en la base de datos
de Spark y analizar los datos de NYC Taxi utilizando Spark y cuadernos.
Figura 2.26: Crear grupo de Apache Spark: pestaña Basics (Opciones básicas)
2. Seleccione NYC Taxi & Limousine Commission – yellow taxi trip records
(NYC Taxi & Limousine Commission: registros de viajes de taxis) y haga
clic en Continue (Continuar):
4. En el centro Data (Datos), en Linked (Vinculado), haga clic con el botón secundario
en nyc_tlc_yellow y seleccione New notebook (Nuevo cuaderno), luego Load to
DataFrame (Cargar en DataFrame):
Figura 2.34: Ejecutar código de Spark (Scala) para ingerir datos de grupo de SQL en una base
de datos de Spark
Nota
El lenguaje predeterminado para el cuaderno es PySpark (Python). Al usar la magia
%%spark en la línea 1 del código, podemos cambiar rápidamente este lenguaje de
celda a Spark (Scala).
56 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio
4. Si va al centro Data (Datos) y actualiza las bases de datos, verá nuestra base
de datos recién creada sparknyc (Spark):
Ahora que hemos ingerido con éxito los datos del grupo de SQL en nuestra tabla
de Spark, examinaremos cómo analizar los datos mediante Spark y cuaderno
en la siguiente sección.
Analizar datos mediante Spark y cuaderno
Ahora que hemos ingerido datos en nuestra nueva base de datos de Spark sparknyc,
usemos Spark y cuaderno para realizar algunos análisis de datos:
1. En Synapse Studio, seleccione el centro Develop (Desarrollar) en el panel
de la izquierda, luego + y Notebook (Cuaderno):
2. Ahora vamos a ejecutar el mismo análisis en Spark como lo hicimos en nuestro
ejemplo anterior del grupo de SQL. Guardaremos los resultados en una nueva tabla
de Spark passengerstats. Escriba el siguiente código en la nueva celda de código
del cuaderno. A continuación, haga clic en el botón Run (Ejecutar) para ejecutar
el código en el lenguaje del cuaderno predeterminado PySpark (Python):
df = spark.sql("""SELECT PassengerCount,
SUM(TripDistanceMiles) as TotalTripDistance,
AVG(TripDistanceMiles) as AverageTripDistance
FROM sparknyc.taxitrip
WHERE PassengerCount > 0 AND TripDistanceMiles > 0
GROUP BY PassengerCount
ORDER BY PassengerCount""")
display(df)
df.write.saveAsTable("sparknyc.passengerstats")
Presentación de Synapse Studio | 57
Nota
El lenguaje predeterminado para el cuaderno es PySpark (Python). Al usar la
magia %%spark en la línea 1 del código, podemos cambiar rápidamente este
lenguaje de celda a Spark (Scala).
Presentación de Synapse Studio | 59
3. Y justo así, se crea la nueva tabla dbo.PassengerStats en el grupo de SQL junto con
todos los datos de la tabla Spark:
Ahora que hemos ingerido con éxito los datos de nuestra tabla de Spark en una tabla
de grupos de SQL, examinaremos cómo analizar los datos mediante agrupaciones
de SQL sin servidor.
Analizar datos mediante grupos de SQL sin servidor
Otra potente funcionalidad de Azure Synapse Analytics es la capacidad de analizar
datos con grupos de SQL sin servidor. Los grupos de SQL sin servidor le permiten
ejecutar consultas SQL con recursos de aprovisionamiento. Esto permite facilitar
la exploración y el análisis de datos en Azure Data Lake Storage Gen2 sin ninguna
configuración ni mantenimiento de infraestructura.
60 | Presentación del espacio de trabajo de Azure Synapse Analytics y Synapse Studio
Ahora demostraremos cómo usar grupos de SQL sin servidor para analizar los datos
en Azure Blob Storage:
1. En Synapse Studio, seleccione el centro Data (Datos) en el panel de la izquierda.
2. En Linked (Vinculado), haga clic con el botón secundario en nyc_tlc_yellow |
New SQL script (Nuevo script de SQL) | Select TOP 100 rows (Seleccionar las
100 filas principales):
Figura 2.40: Usar SQL sin servidor para analizar datos en Azure Blob Storage
A partir de esta demostración, puede ver que los grupos de SQL sin servidor le
permiten ejecutar consultas al instante y no tener que aprovisionar ningún recurso.
A continuación, analizaremos cómo compilar canalizaciones de datos y realizar
transformaciones de datos sin código.
Como puede ver, puede crear una canalización en Azure Synapse Analytics muy
fácilmente y realizar potentes transformaciones de datos sin tener que escribir
una sola línea de código.
Resumen
Azure Synapse Analytics es una innovadora evolución de Azure SQL Data Warehouse.
Aprovecha lo mejor de Azure SQL Data Warehouse y lo moderniza gracias a la
incorporación de más funcionalidades para los desarrolladores SQL, porque agrega
consultas con grupos de SQL sin servidor, compatibilidad para el machine learning,
integra Spark de manera nativa, cuadernos colaborativos e integración de datos,
todo dentro de un único servicio.
Como ha aprendido en este capítulo, los ingenieros de datos pueden aprovisionar
un espacio de trabajo de Azure Synapse Analytics en cuestión de minutos y crear
sus soluciones de análisis de extremo a extremo mediante un enfoque unificado,
simplificado y optimizado dentro de Synapse Studio. Este extraordinario e innovador
entorno todo en uno es un sueño hecho realidad para muchos profesionales de datos.
En el siguiente capítulo, analizaremos Power BI y Azure Machine Learning. Más
adelante, verá casos prácticos reales de cómo todas estas tecnologías están integradas
para proporcionar las soluciones completas e integrales de almacenamiento de datos
que los responsables de la toma de decisiones empresariales pueden usar para obtener
información significativa a partir de datos en tiempo real.
Procesamiento
3
y visualización de
los datos
En los capítulos anteriores, se le presentó Azure Synapse Analytics y Synapse Studio.
Azure Synapse Analytics ofrece una gran cantidad de características que son flexibles
y altamente escalables. Algunas de las características de extensibilidad de Azure
Synapse Analytics son la capacidad de usar el enfoque del almacenamiento de datos
moderno para ofrecer informes significativos y un origen de datos para machine
learning.
Hay muchas formas de procesar y visualizar datos con Azure y el conjunto más amplio
de herramientas que ofrece Microsoft. Este libro se centrará en el uso de Power BI
como una herramienta para crear informes y paneles. Power BI ofrece una amplia gama
de productos y servicios. En este capítulo, analizaremos el uso de Power BI Desktop en
Windows para crear paneles significativos, así como el uso de áreas de trabajo de Power
BI para hospedar y compartir informes publicados.
Este libro también le dará una introducción al ecosistema de inteligencia artificial
y machine learning dentro de Azure y Microsoft. Abordaremos una plataforma de
machine learning específica en secciones posteriores con Azure Machine Learning.
Estas tecnologías funcionan sin problemas con Azure Synapse Analytics como un enfoque
predeterminado para visualizar y obtener información de un almacenamiento de datos
unificado.
68 | Procesamiento y visualización de los datos
Power BI
Power BI es un conjunto de herramientas que permite que los usuarios visualicen datos
y compartan conocimientos entre equipos y organizaciones o que integren análisis
del panel en sus sitios web o aplicaciones. Admite diferentes orígenes de datos (tipos
de datos estructurados y no estructurados) y ayuda a los analistas y usuarios finales
a crear paneles e informes en vivo sobre los datos empresariales a petición. Un ejemplo
de esto es visualizar las ventas de la empresa correspondientes a los meses recientes
y determinar la ciudad que vendió más artículos.
Lo que distingue a Power BI de un software de hoja de cálculo como Microsoft Excel
es que está diseñado para ser una interfaz de usuario hospedada (a menudo, un panel
en tiempo real) en la que no es necesario que los usuarios almacenen con frecuencia
un archivo en su máquina local y lo abran. Con Power BI, puede usar el poder de la
nube para aprovechar datos complejos y presentarlos a través de gráficos o diagramas
enriquecidos, lo que permite que sea el servidor, y no su propia máquina, el que
ejecute todos los cálculos. Suponga un escenario en el que el tamaño de los datos iba
a crecer de 500 megabytes a varios gigabytes. La mayoría de las máquinas de propósito
general, como los equipos personales con una cantidad limitada de memoria, tendrían
problemas para cargar un archivo de Excel de este tipo; sin embargo, con Power BI,
es simplemente como abrir una página web, ya que es un servicio hospedado:
• Aplicaciones móviles de Power BI: son aplicaciones móviles nativas que pueden
obtener acceso a informes desde un área de trabajo hospedada en Power BI.
Están disponibles en la App Store de Apple iOS y en Google Play Store.
Características y ventajas
En términos generales, Power BI ofrece las siguientes ventajas:
• Paneles personalizados que permiten a los analistas distinguir el aspecto de los
gráficos, los diagramas y las tablas.
Power BI es una herramienta intuitiva que, por lo general, solo requiere hacer
clic o arrastrar y colocar para tener acceso a los datos y visualizarlos con rapidez.
La herramienta de creación, Power BI Desktop, cuenta con muchas características
integradas para derivar análisis. Es lo suficientemente inteligente como para
sugerir un modelo de visualización basado en los campos de su elección.
70 | Procesamiento y visualización de los datos
Características y ventajas
La combinación de Power BI y Azure Synapse Analytics tiene muchos beneficios.
Aunque no existe una solución única para todos ni una sola herramienta para resolver
todos sus problemas de datos, la combinación de Azure Synapse Analytics y Power BI
puede llevar a su equipo operaciones de datos y ciclos de vida robustos, elásticos y más
fáciles de mantener:
• Modelo de datos unificado: tratar Azure Synapse Analytics como la única fuente
de la verdad traerá un modelo de datos unificado para todos los servicios de
consumo de datos, incluido Power BI. Con este enfoque, todos estarán seguros
de que los datos que se guardan en el almacenamiento de datos (el espacio de
trabajo de Synapse) ya se han validado y procesado previamente. Esto es muy
útil, en especial para los desarrolladores y analistas de Power BI, lo que significa
que pueden centrarse en generar informes significativos en lugar de discutir
orígenes de datos dispares.
• Consultas escalables y transformaciones de datos: Power BI ofrece capacidades
de consulta de datos a través de DirectQuery. Esto es muy útil para conjuntos de
datos pequeños. Sin embargo, cuando los conjuntos de datos se vuelven masivos,
encontrará algunos problemas de escalabilidad y afectará el rendimiento de los
informes si realiza estas operaciones directamente en Power BI. Azure Synapse
Analytics ayuda en este escenario al realizar optimizaciones de rendimiento en
consultas de gran escala a través de vistas materializadas y el almacenamiento
en caché de conjuntos de resultados. Estos conjuntos de operaciones de proceso
intenso se realizan en un clúster elástico de grupos de SQL para satisfacer la
demanda de escalado. Con este enfoque, Power BI puede centrarse en realizar
funciones relacionadas con la visualización de datos en lugar de preocuparse
por la preparación de datos para servir para los informes.
En este libro, utilizaremos Power BI para generar informes a partir de las consultas que
realiza el grupo de SQL en un espacio de trabajo de Synapse. Este capítulo se centrará
en cómo puede aprovechar los conjuntos de datos de Power BI en Synapse Studio.
Existen diferentes enfoques para realizar una visualización de datos sólida, pero la
razón principal para usar este enfoque (Power BI y Azure Synapse Analytics) es la
elasticidad y la separación de tareas. Esta combinación facilita una capacidad de
generación de informes optimizada a escala, aunque tenga miles de millones de
filas en sus bases de datos.
Para comprender más sobre cómo Azure Synapse Analytics y Power BI trabajan
de la mano, comencemos con una guía de inicio rápido simple.
Comencemos.
Integrar Power BI con Azure Synapse Analytics
Esta actividad actuará como una guía paso a paso para integrar Azure Synapse Analytics
con Power BI. Utilizaremos el poder de Azure Synapse Analytics para realizar consultas
que permitirán a Power BI visualizar datos sin necesidad de realizar transformaciones
complejas dentro de su entorno de Power BI:
1. Lo primero que haremos es establecer una conexión entre su espacio de trabajo
de Azure Synapse Analytics y su área de trabajo de Power BI. Para hacer esto, vaya
a Synapse Studio y a la sección Manage (Administrar). Haga clic en Linked services
(Servicios vinculados) y luego en el botón + New (+ Nuevo). Busque Power BI al igual
que en la Figura 3.2. Haga clic en la opción Power BI y en Continue (Continuar):
Power BI y Azure Synapse Analytics | 73
Nota
Al configurar su espacio de trabajo de Azure Synapse Analytics, incluye un
grupo de SQL integrado sin servidor para usted.
Power BI y Azure Synapse Analytics | 75
Figura 3.8: Agregar el conjunto de datos a Azure Synapse Analytics con Azure Blob Storage
Figura 3.9: Crear una nueva consulta para seleccionar las 100 principales filas
Power BI y Azure Synapse Analytics | 77
Modificaremos la consulta para crear una vista basada en una instrucción "select"
del conjunto de datos de COVID-19 de Bing:
-- Drop existing "Covid19View"
DROP VIEW IF EXISTS Covid19View;
GO
Nota
En el informe real más adelante en Power BI, puede ver que faltan otros países.
Esto tiene como objetivo simplificar el ejercicio.
78 | Procesamiento y visualización de los datos
Comprobar la vista
Vamos a comprobar si la vista se creó en la base de datos:
1. Vaya a la pestaña Workspace (Espacio de trabajo) de la sección Data (Datos)
de Synapse Studio. Profundice en la base de datos y las vistas, y compruebe
si se creó la vista:
2. Haga clic con el botón secundario en la vista que se creó, haga clic en New SQL
script (Nuevo script de SQL) y en Select TOP 100 rows (Seleccionar las 100 filas
principales):
3. Esto debería abrir una nueva ventana. Haga clic en Run (Ejecutar) para ejecutar
la consulta "select". Debe mostrar filas de datos en la pestaña Results (Resultados):
Figura 3.15: Ejecutar la consulta para obtener las 100 filas principales
82 | Procesamiento y visualización de los datos
2. Se abrirá un asistente que le permitirá elegir una base de datos. Haga clic en
Continue (Continuar):
3. Después de elegir una base de datos, la siguiente parte del asistente le permite
descargar un archivo de Power BI Desktop. Haga clic en Download (Descargar):
Después de descargar el archivo, abra el archivo .pbids. El archivo debe abrir Power
BI Desktop en su equipo Windows. Si aún no está autenticado, le pedirá que elija un
método para conectarse a la base de datos:
Figura 3.19: Agregar una base de datos de SQL de Azure Synapse Analytics como origen
de datos en Power BI
84 | Procesamiento y visualización de los datos
Una vez que se autentique, se mostrará una pantalla Navigator (Navegador) para
que seleccione los orígenes de datos que desea capturar. Asegúrese de que la vista
donde almacenamos nuestros datos esté marcada. Luego, presione Load (Cargar):
2. Una vez que se publique, le dará un vínculo para abrir el informe en PowerBI.com.
Abra el vínculo:
Una vez que se publique, estará disponible para su área de trabajo de Power BI.
En el espacio de trabajo, puede compartir este informe con cualquiera de los
miembros del equipo dentro de su inquilino al hacer clic en el botón Share
(Compartir):
¡Felicitaciones por crear su panel de Power BI! En esta actividad, abordamos cómo
usar Synapse Studio para transformar los datos en un modelo semántico significativo
que Power BI puede visualizar. En la siguiente sección, exploraremos cómo podemos
usar machine learning con Azure Synapse Analytics.
Al usar Azure para impulsar los cálculos del análisis de machine learning, obtiene
hardware especializado capaz de acelerar los experimentos. Con hardware acelerado,
como unidades de procesamiento de gráficos (GPU) rápidas y Field-Programmable
Gate Arrays (FPGA), puede leer miles de millones de entradas de fila de tabla de la
base de datos y probar varios modelos simultáneamente para conseguir resultados
más rápidos en sus experimentos de machine learning.
En las secciones siguientes se ofrece información general sobre las principales
tecnologías y plataformas que implementan el machine learning y la inteligencia
artificial en el ecosistema de Microsoft Azure.
Machine learning en Azure | 91
ML.NET
ML.NET es un marco de trabajo multiplataforma open source para desarrolladores
de .NET. Con ML.NET, usted y su equipo podrán aprovechar las aptitudes,
bibliotecas y marcos de trabajo que ya están presentes en el ecosistema de .NET.
Puede crear aplicaciones web mediante ASP.NET, aplicaciones móviles mediante
Xamarin, aplicaciones de escritorio mediante WPF e incluso Internet de las Cosas
(IoT) mediante Windows IoT. También puede ampliar su capacidad de creación de
modelos de machine learning mediante el uso de TensorFlow y ONNX. ML.NET
ofrece compatibilidad inmediata con algoritmos que permiten análisis de opiniones,
recomendación de productos, detección de objetos, previsión de ventas y muchos
más escenarios de uso reales.
Para tareas como la regresión y la clasificación, tanto el entrenamiento como
el consumo se pueden llevar a cabo con ML.NET. Además, también admite tipos
de datos básicos, canalizaciones extensibles, estructuras de datos, compatibilidad
de herramientas, matemáticas de rendimiento avanzado y mucho más.
ML.NET se puede instalar desde nuget.org. nuget.org es un repositorio público
de paquetes, bibliotecas y marcos de .NET descargables que se pueden agregar
fácilmente a los proyectos de .NET.
Cognitive Services
Azure Cognitive Services es un conjunto de modelos y API de uso general, previamente
entrenados y basados en la nube que se pueden consumir y ampliar para obtener
entrenamiento adicional para casos prácticos específicos. Por ejemplo, si quiere crear
una IA de detección de objetos que entienda lo que es un plátano, es posible que tenga
que alimentar más datos para ayudar a la IA a interpretar que una imagen contiene un
plátano. El consumo de Cognitive Services se hace a través de HTTP y es independiente
de la plataforma, lo que significa que puede usar cualquier lenguaje de programación
y sistema operativo. Hay cinco categorías principales de Cognitive Services: decisión,
visión, voz, búsqueda e idioma. Puede integrar fácilmente la IA y el ML con sus
aplicaciones móviles, web, de escritorio o incluso de IoT mediante Cognitive Services.
Bot Framework
Microsoft Bot Framework permite que las aplicaciones creen bots inteligentes
(que a menudo se usan para bots de chat) para automatizar los flujos de trabajo.
Bot Framework está estrechamente relacionado con Microsoft Cognitive Services
como Language Understanding Intelligence Service (LUIS) y QnA Maker. QnA
Maker es un servicio de procesamiento del lenguaje natural (NLP) que acelera la
creación de IA basada en la conversación, como los bots de chat. Con Bot Framework,
los desarrolladores pueden crear fácilmente una IA conversacional que sea capaz
de aprender de expresiones e intenciones mediante entrenamiento. Este marco
de trabajo también permite que los desarrolladores publiquen fácilmente bots en
varios canales como Microsoft Teams, Cortana y Slack.
Como en este libro no se podrían cubrir todas las tecnologías mencionadas aquí, nos
centraremos en Azure Machine Learning. Para obtener más información sobre estos
servicios, visite este vínculo.
Designer
También puede utilizar una interfaz visual (con una codificación mínima requerida)
dentro de Azure Machine Learning, llamada Designer, para crear y ejecutar
experimentos. La experiencia utiliza un enfoque de código bajo/sin código con
herramientas de arrastrar y soltar para crear y conectar entidades. Esta es una forma
intuitiva de conectar orígenes de datos y de crear un modelo de machine learning
que se va a entrenar y servir.
AutoML
Como se mencionó anteriormente, AutoML es un mecanismo que sugiere el mejor
algoritmo para usar en sus experimentos. Es una característica incorporada de Azure
Machine Learning. Puede automatizar las tareas que consumen mucho tiempo, como
la limpieza de datos y la selección de los algoritmos adecuados para el modelo. AutoML
permite iterar rápidamente numerosas combinaciones de algoritmos e hiperparámetros
para encontrar el modelo óptimo en función del resultado que quiera.
Con Azure Machine Learning puede usar Azure Databricks para preparar los datos
para sus experimentos. A continuación, puede usar Jupyter Notebooks o Visual
Studio Code para crear experimentos. Como alternativa, también puede usar la
característica integrada de Azure Notebooks de Azure Machine Learning. Después
podrá ejecutar experimentos para entrenar y probar el modelo de machine learning,
aprovechando los equipos para ejecutar algoritmos complejos de ciencia de datos.
Azure Machine Learning creará un modelo de machine learning con el formato ONNX,
que es altamente portátil y se puede implementar fácilmente en un contenedor, como
Azure Container Instance. También tiene la opción de ejecutarlo en Azure Kubernetes
Services (AKS) o incluso en dispositivos perimetrales compatibles con Docker.
Nota
El formato de modelo de ONNX permite a los profesionales de datos trabajar en
Azure Synapse Analytics para llevar una variedad de modelos a Synapse de forma
segura sin necesidad de movimiento de datos fuera de los límites de seguridad
de Azure Synapse Analytics.
Requisitos previos
Para hacer esta actividad, necesita lo siguiente:
• Una suscripción activa a Azure
• Crear un espacio de trabajo de Azure Machine Learning
Azure Machine Learning y Azure Synapse Analytics | 97
Nota
Para este ejercicio específico, puede crear una nueva instancia o utilizar una
existente para:
• Azure Storage
• Azure Key Vault
• Application Insights
• Azure Container Registry
98 | Procesamiento y visualización de los datos
4. Una vez que se haya aprovisionado el recurso de Azure Machine Learning, vaya
a la sección Overview (Descripción general) y haga clic en Launch Studio:
Esto lo redirigirá a Azure Machine Learning Studio, donde crearemos nuestro modelo
de machine learning.
Nota
En Azure Machine Learning, también puede agregar y configurar las máquinas
virtuales existentes como un destino informático.
Una vez que se ha creado el destino de proceso, ya está listo para ejecutar
el experimento. Vuelva a hacer clic en el botón Submit (Enviar) para desencadenar
el experimento.
Ahora ejecutará su experimento, y esto tomará algún tiempo. Puede ver el progreso
del experimento visualmente según el estado de cada paso: queue (cola), not
started (no iniciado) o completed (completado).
Una vez que se completa el experimento, todas las casillas deben resaltarse
en verde, como se muestra aquí:
4. Haga clic en el paso Scored Image Model (Modelo de imagen con puntuaciones).
Haga clic con el botón secundario en este y elija la opción Visualize (Visualizar).
Luego, haga clic en Scored dataset (Conjunto de datos con puntuaciones):
Este ejercicio le dio una idea de lo fácil que es empezar a trabajar en Azure Machine
Learning. Puede optar por implementar este modelo en ACI o AKS para obtener una
inferencia en tiempo real sobre una imagen que desea probar, pero eso está más
allá del alcance de este libro. No olvide limpiar o eliminar sus recursos si ya no los
va a necesitar.
Resumen
En este capítulo, analizamos cómo Azure Synapse Analytics puede servir a un modelo
de datos unificado para Power BI. Después, exploramos el uso de Power BI Desktop para
crear informes. Power BI permite crear gráficos enriquecidos y significativos de los que
se puede extraer información sobre las empresas. Luego, publicamos un informe para
colaborar en él en distintos soportes físicos.
También aprendimos que hay muchas herramientas y tecnologías disponibles para
implementar machine learning e inteligencia artificial en Azure. Exploramos Azure
Machine Learning, incluidas sus características y beneficios, y realizamos machine
learning en Azure para crear un modelo que clasifique a los animales. En el siguiente
capítulo, exploraremos diferentes casos de uso empresarial para Azure Synapse
Analytics y las tecnologías relacionadas.
Casos prácticos
4
empresariales
En los capítulos anteriores, aprendió sobre el análisis a escala en la nube y los servicios
que ofrece Microsoft Azure para permitir que las empresas descubran información.
También conoció las nuevas características y funcionalidades que se agregaron
al almacenamiento de datos moderno. En este capítulo, verá dos casos prácticos
empresariales reales para mostrar soluciones de alto nivel con Microsoft Azure. El
objetivo de estos casos prácticos es ilustrar cómo se pueden analizar en Azure los datos
en tiempo real para obtener información significativa y tomar decisiones empresariales.
Los nombres de empresas que se usan aquí son ficticios y, para las demostraciones
de implementación, usaremos conjuntos de datos de ejemplo. Sin embargo, los casos
prácticos empresariales, los desafíos y los problemas mismos son reales. Muestran
los tipos de problemas de datos que puede encontrar en su vida cotidiana.
106 | Casos prácticos empresariales
Coolies nombró a una nueva directora ejecutiva apasionada por los datos, quien creó un
nuevo equipo de análisis de datos y le encargó la tarea de crear y mantener la información
de los clientes casi en tiempo real para impulsar las decisiones empresariales.
El problema
Coolies, como muchas otras organizaciones, está tratando de reinventarse como una
empresa basada en datos. Son muchos los indicadores que muestran que esta es la
estrategia correcta. Sin embargo, para que Coolies tenga éxito, tiene que resolver
muchos problemas. Algunos de estos problemas son técnicos, mientras que otros
son culturales y organizativos.
La directora ejecuta de Coolies quiere que el nuevo equipo de análisis de datos
ayude a la empresa a responder preguntas que guíen las decisiones operativas. Hay
muchas preguntas que el equipo ejecutivo espera responder con datos. Sin embargo,
para articular mejor el alcance de este proyecto, el equipo de datos de Coolies
(en consulta con la directora ejecutiva) acordó enfocarse en la pregunta:
¿Cómo puede Coolies aumentar las ganancias?
Más concretamente, al equipo de datos de Coolies se le da un desafío de 20 días
para ejecutar un programa piloto de análisis de datos con el fin de modelar formas
que permitan que Coolies aumente su margen de ganancias en un 10 %.
Emocionados por llevar a cabo esta tarea, los miembros del equipo de datos de Coolies
comenzaron con un taller para refinar los requisitos y los desafíos técnicos. Las prácticas
de datos actuales de Coolies, como en la mayoría de las empresas, están orientadas
a informar lo que sucedió en el pasado. Los informes actuales responden preguntas
como "¿Cuántos productos se vendieron?" y "¿Cuáles fueron los ingresos que generó el
producto A?". Sin embargo, esto es muy distinto de lo que Coolies está intentando lograr,
que es descubrir patrones para predecir qué productos debe vender Coolies y en qué
cantidades los venderá, y hacerlo casi en tiempo real. Para que esto suceda, el equipo
de datos de Coolies concluyó que tienen que abordar los siguientes desafíos.
Coolies no solo necesita capturar y almacenar todos estos datos a partir de las
interacciones físicas y digitales con los clientes, sino que también necesita limpiar,
validar, preparar y agregar todos estos datos. Esta es una tarea masiva con la que
el equipo no tiene experiencia. El equipo solía procesar datos por lotes mediante la
carga de datos históricos en el almacenamiento de datos para generar informes diarios
y semanales. Esto es bastante difícil para el equipo, porque es una tarea emocionante
pero también abrumadora.
Para hacer que las cosas sean aún más interesantes, las fuentes de redes sociales no
están estructuradas y están en un lenguaje natural que los clientes usan para escribir
en la Web. Estas fuentes pueden ser muy valiosas para Coolies, ya que informan a la
empresa los comentarios reales que proporciona su base de clientes. Sin embargo,
para los profesionales de datos, es difícil capturar y organizar estas fuentes sueltas
de publicaciones de lenguaje natural con el mismo formato y forma que los datos
de transacciones altamente estructurados.
El equipo de datos de Coolies debe enfrentar no solo la captura de datos en todas
sus formas variables (estructurados, semiestructurados y no estructurados), sino que
también encuentra una manera de limpiar y almacenar todos estos datos en un solo
lugar para que se puedan unir y correlacionar con otras formas de datos de otros
orígenes con el fin de descubrir nuevos conocimientos.
Ingesta de datos
La primera tarea para cualquier profesional de datos es buscar datos, recopilarlos,
limpiarlos, validarlos y, a continuación, empezar la emocionante tarea de detectar
y explorar los datos. En el escenario actual, debe definir los orígenes de los que
necesita extraer datos. También debe ver cómo puede cargar datos de distintos
orígenes para crear un conjunto de datos único que los analistas de datos puedan
explorar y consultar fácilmente. Algunos de los sistemas de origen que necesita
para este caso práctico incluyen:
• Transacciones de ventas: las transacciones de ventas no solo pueden saber
qué y cuántos productos se vendieron en una tienda determinada, sino también
pueden indicar qué clientes compraron qué productos. Esto se debe a que
Coolies ya tiene un programa de fidelización donde los clientes escanean su
tarjeta de fidelización como parte del procedimiento de pago. Coolies tiene
dos almacenes de datos diferentes para las transacciones de ventas: un almacén
de datos para tiendas físicas y otro para las tiendas en línea de Coolies.
• Datos del cliente: Coolies tiene un sistema de administración de relaciones con
el cliente (CRM) que contiene los datos del cliente. Los datos del cliente incluyen
(entre otras cosas) los detalles del perfil (nombre, edad, dirección, número
de teléfono), fecha de la última compra, favoritos y otro historial de compras.
• Datos del programa de fidelización: los datos del programa de fidelización se
almacenan en un sistema de origen distinto y ayudan a Coolies a vincular los
datos de los clientes con las transacciones de ventas.
• Datos de uso e información de las secuencias de clic de aplicaciones digitales:
esto indica cómo los clientes de Coolies responden al diseño y al contenido
de las aplicaciones de Coolies.
• Sensores y datos de IoT: algunas de las tiendas de Coolies están equipadas
con sensores digitales para comprender los comportamientos de los clientes
en el piso de la tienda. Algunas tiendas tienen sensores de IoT instalados para
contar cuántos clientes pasan por cada pasillo y en qué momento. También
hay sensores para medir la temperatura y la humedad en las tiendas de Coolies.
Coolies usa estos sensores para garantizar que los productos frescos, como
la leche, se mantengan en las condiciones adecuadas. Además, Coolies también
tiene sensores para contar los empleados casi en tiempo real. Esto ayuda
a Coolies a implementar más personal durante las horas punta para garantizar un
servicio más rápido para que los clientes no tengan que esperar en colas largas.
Lluvia de ideas para el diseño | 111
• Otros conjuntos de datos: para enriquecer los datos de Coolies y darles otra
dimensión, el equipo de datos de Coolies considera extraer otros datos, como
datos meteorológicos, datos de mapas o de sistemas de información geográfica
(GIS), datos de perfiles de ciudades y barrios residenciales y otros datos similares
de conjuntos de datos públicos. Estos conjuntos de datos pueden enriquecer
los datos de Coolies y agregar un mayor contexto a las tendencias y patrones
en los comportamientos del cliente y las cifras de ventas. Por ejemplo, tomemos
el clima. Coolies podría encontrar que las ventas de ciertos productos podrían
correlacionarse con ciertas condiciones climáticas, por ejemplo, el aumento en
la venta de helados durante la temporada de verano. Del mismo modo, un perfil
de ciudad con cierto grupo etario y atributos de ingresos promedio puede estar
fuertemente correlacionado con las cifras de ventas de ciertos productos. Por
ejemplo, los barrios residenciales donde la edad promedio es de 25 años podrían
tener mayores ventas de productos de peluquería, mientras que las tiendas en los
barrios residenciales con una edad promedio de 45 años podrían vender mucho
menos de los mismos productos.
Almacenamiento de datos
Como se explicó anteriormente, Coolies necesita ingerir datos de diversos orígenes.
También estima que el tamaño de sus conjuntos de datos actuales es de más de 400 TB
con un crecimiento promedio de 10 a 15 GB por día. El formato de estos conjuntos
de datos también es muy distinto. Algunos de ellos están altamente estructurados,
mientras que otros son totalmente no estructurados. Algo que todos estos conjuntos
de datos distintos tienen en común es que todos crecen rápidamente y llegan a una alta
tasa de rendimiento. Para satisfacer las necesidades de Coolies, necesitamos tener un
almacén de datos que:
• Sea escalable y elástico para crecer junto con las demandas del equipo de datos
de Coolies.
• Sea una plataforma segura y controlada para garantizar que los recursos
y la propiedad intelectual de Coolies estén bien protegidos.
• Sea compatible con otros sistemas y herramientas existentes.
• Tenga un precio razonable.
• Esté altamente disponible.
• Admita operaciones de alto rendimiento y procesamiento paralelo.
112 | Casos prácticos empresariales
Ciencia de datos
Una vez que todos los datos se recopilan y almacenan en un almacén de datos central,
el equipo de datos de Coolies necesitará tener una plataforma para:
• Limpiar, transformar y explorar los conjuntos de datos.
• Colaborar con otras partes interesadas empresariales y técnicas para descubrir
patrones y tendencias.
• Integrar con marcos de inteligencia artificial y tiempos de ejecución para aplicar
algoritmos de machine learning en los conjuntos de datos y descubrir cualquier
patrón.
• Entrenar y poner en marcha los nuevos modelos de machine learning que
podrían resultar del trabajo de la integración anterior.
• Permitir que el equipo programe, ejecute y supervise las canalizaciones de
datos para permitir la transformación, limpieza e integración de los datos.
Paneles e informes
El desarrollo de soluciones de análisis de datos se puede ver como una conversación
continua entre los profesionales de datos, las partes interesadas empresariales y los
datos mismos. Requiere un perfeccionamiento continuo y pruebas de hipótesis. Por lo
tanto, es imperativo que el equipo de datos de Coolies desarrolle y mantenga informes
y paneles interactivos para comunicar su trabajo y los resultados de sus procesos de
detección de datos a la empresa.
El primer paso para crear estos informes y paneles es contar con un modelo de datos
coherente y común que facilite un entendimiento común en toda la organización.
La solución
El equipo de datos de Coolies decidió usar Microsoft Azure para implementar la
solución de análisis de Coolies. Entre otras cosas, el equipo de Coolies incluyó la
escalabilidad, el cumplimiento y la disponibilidad regional de Azure en las regiones
de Coolies (Australia y Japón) como los principales factores para tomar esta decisión.
El equipo también articuló las razones por las que cada uno de los servicios de Azure
elegidos es adecuado para su propósito, como veremos en las siguientes secciones.
Coolies usó los requisitos perfeccionados y las conclusiones de la lluvia de ideas
(de las secciones anteriores) para elaborar un diseño para la arquitectura de la solución.
El equipo de datos de Coolies presentó la siguiente arquitectura (como se muestra
en la Figura 4.1):
La solución | 113
Flujo de datos
El diseño de la Figura 4.1 muestra la arquitectura de la solución y el flujo de datos entre
los componentes individuales. Aquí se explica cada uno de los segmentos de flujo de
trabajo marcados (numerados) en el diagrama anterior:
1. Coolies necesita ingerir muchos conjuntos de datos distintos. Algunos de estos
contienen datos estructurados y otros, datos no estructurados. Coolies usará la
funcionalidad de Azure Synapse Analytics para la integración de datos híbridos.
Esto permite a Coolies ingerir datos estructurados mediante actividades periódicas
(de 5 minutos) por lotes e insertar estos datos en Azure Data Lake Storage Gen2.
2. Para los datos no estructurados, Coolies usará Azure Event Hub para capturar
estos datos casi en tiempo real e insertarlos en Azure Data Lake Storage Gen2.
Esto hace que todos los nuevos datos estén disponibles para su procesamiento
con la solución de análisis de Coolies y permite que Coolies desencadene cualquier
acción en los datos casi en tiempo real (cada 1 minuto). Los datos no estructurados
incluyen datos procedentes del análisis de secuencias de clic (informes sobre el
comportamiento de los usuarios en los canales digitales de Coolies), fuentes de
redes sociales (de Twitter, Facebook, etc.), registros e información de seguimiento
de los servidores de Coolies y cualquier dato procedente de los sensores de IoT.
114 | Casos prácticos empresariales
3. Todos los datos ingeridos terminarán en Azure Data Lake Storage Gen2,
que servirá a un centro central para todos los datos en toda la organización.
4. Una vez que los datos no estructurados se ingieren en Azure Event Hub, se insertarán
en Azure Data Lake para el almacenamiento permanente. Esto se realiza mediante la
función de captura de datos de Azure Event Hub, que nos permite almacenar datos
de transmisión en Azure Data Lake Storage Gen2 de forma rápida y sencilla.
5. Los datos de Coolies se alojarán en Azure Data Lake Storage Gen2. Estos datos
provienen de diferentes orígenes, con varios niveles de calidad y diferentes
granularidades. Por lo tanto, el equipo de datos de Coolies tendrá que limpiar,
preparar, validar y enriquecer estos conjuntos de datos. Este trabajo se realizará
mediante el grupo de Spark de Azure Synapse Analytics. Azure Synapse Analytics
proporciona un clúster de Spark administrado para que los ingenieros de datos
de Coolies puedan conectarse fácilmente y explorar los datos en Data Lake
Storage sin tener que trasladar los datos a ningún otro sistema.
6. Si bien el equipo de Coolies está limpiando y preparando datos en el grupo
de Spark de Azure Synapse, todos los datos (recientes/nuevos e históricos)
deben combinarse en un modelo estándar que sea fácil de consultar y ofrecer
a los usuarios empresariales. Para esto, el equipo de Coolies planifica usar el
almacenamiento de datos (grupo de SQL) de Azure Synapse Analytics. Esto permite
al equipo de datos de Coolies unir, modelar y preparar todos sus datos para el
consumo de los usuarios empresariales. Esto no solo permite que los sistemas de
los usuarios de Coolies ejecuten consultas y respondan preguntas sobre los datos
recién llegados, sino que también combinen estos nuevos datos con los datos
históricos que ya están en el almacenamiento de datos para llegar a un consenso
sobre el rendimiento empresarial y los comportamientos de los clientes.
7. Power BI permite a Coolies no solo publicar informes y paneles para los usuarios de
Coolies, sino que también permite que todos los usuarios sean analistas de datos para
su dominio mediante un enfoque de autoservicio y la exploración de los modelos de
datos publicados. Coolies puede usar modelos de datos compuestos para conjuntos
de datos de gran tamaño, que es una característica de Power BI Premium.
8. Coolies invirtió en modelos complejos con Microsoft Excel. Algunos de los analistas
de datos de Coolies quisieran usar Microsoft Excel para tener acceso a los datos
desde Azure Synapse Analytics. Esto se admite de manera inmediata en Microsoft
Excel y Azure Synapse Analytics.
Servicios de Azure
En las secciones siguientes se describirá cada uno de los servicios de Azure que
se muestran en el diseño de la solución de la Figura 4.1. Para cada servicio, primero
explicará por qué se necesita este componente, luego por qué los servicios de Azure
son adecuados para Coolies y, finalmente, mostrará un breve ejemplo práctico
de la parte principal de la implementación.
Servicios de Azure | 115
Implementación de ejemplo
Al ingerir datos en Azure Data Lake Storage Gen2, se considera un buen procedimiento
usar espacios de nombres y contenedores para organizar los datos en el lago de datos.
Esto no solo facilita la búsqueda de datos, sino que también ayuda con la administración
del control de acceso. En la Figura 4.2 se muestra un ejemplo de una zonificación de
lago de datos simple, donde el lago de datos está dividido en cuatro zonas: Zona de
aterrizaje (ingesta), Zona de almacenamiento provisional, Zona segura y Sandbox de
análisis:
• Zona de aterrizaje: aquí es donde aterrizarán todos los datos (excepto
los confidenciales) que llegan al lago de datos antes de procesarlos, limpiarlos,
agregarlos, etc.
• Zona de almacenamiento provisional: aquí se limpiarán/prepararán los datos
antes de que estén listo para su consumo.
• Sandbox de análisis: esta zona la usan científicos e ingenieros de datos
como sandbox para almacenar los datos mientras los procesan y exploran.
• Zona segura: aquí es donde se almacenan y procesan los datos altamente
confidenciales. Separar la zona segura de las demás zonas puede
mejorar la administración del control de acceso. Esta zona incluye datos
confidenciales como datos de fusiones y adquisiciones, datos financieros
y otros datos de clientes que podrían ser difíciles de enmascarar,
como datos de género, edad y etnia del cliente, si se conocen:
• Los estudios sugieren que Azure Synapse Analytics es mucho más rápido
y económico que otros proveedores de nube.
Implementación de ejemplo
El siguiente es un ejemplo de cómo Coolies configura su instancia de Azure
Synapse Pipelines para extraer datos de su base de datos transaccional de ventas
(que se encuentra en un servidor de Azure SQL) a Azure Data Lake Storage Gen2:
1. Azure Synapse proporciona integración nativa con Azure Data Lake Storage
Gen2. Coolies puede conectarse a Azure Data Lake Storage Gen2 al configurar
un servicio vinculado en Azure Synapse Pipelines de la siguiente manera:
{
"name": "CooliesAzureDLStorageLS",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://{accountname}.dfs.core.windows.net",
"accountkey": {
"type": "SecureString",
"value": "{accountkey}"
}
},
"connectVia": {
"referenceName": "{name of Integration Runtime}",
"type": "IntegrationRuntimeReference"
}
}
}
Vale la pena mencionar que este ejemplo contiene marcadores de posición para
los valores de configuración principales, como los campos name y accountKey de
la cuenta de Azure Storage, y el nombre del entorno de ejecución de integración.
Servicios de Azure | 121
"typeProperties": {
"tableName": "sales_table"
}
}
}
5. En el siguiente fragmento de código se configura la actividad de movimiento
de datos de la base de datos SQL de ventas a Azure Data Lake. Esto creará una
actividad en Azure Synapse Pipelines y hace referencia a los dos conjuntos de datos
que se crearon en el paso 2 y el paso 4. La actividad establece la base de datos de
ventas de Azure SQL como el origen del movimiento de datos y Azure Data Lake
Storage Gen2 como destino de la actividad de movimiento de datos:
{
"name": "CopyFromAzureSQLSalesDatabaseToAzureDataLake",
"type": "Copy",
"inputs": [
{
"referenceName": "CooliesSalesDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "CooliesAzureDataLakeSalesDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AzureSqlSource",
"sqlReaderQuery": "SELECT * FROM SALES_TABLE"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobFSWriteSetting",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
124 | Casos prácticos empresariales
Power BI
Rol en el diseño
El equipo de Coolies debe visualizar y comunicar sus hallazgos, así como algunos de los
datos sin procesar a la empresa. Esto es fundamental para garantizar la participación
de las partes interesadas del negocio y para obtener comentarios de manera rápida
y sencilla. Coolies también necesita una plataforma que permita a los usuarios usar
informes y paneles de autoservicio y que los usuarios de Coolies exploren los datos
por sí mismos.
Power BI completa este rol al permitir que Coolies visualice datos con una variedad
de objetos visuales y formas y también al permitir que los usuarios empresariales
y no técnicos atiendan de manera automática cualquier necesidad de informes o datos.
¿Por qué usar Power BI?
Power BI es una oferta de software como servicio (SaaS) de inteligencia empresarial
que permite que Coolies transforme sus datos en paneles y objetos visuales interactivos
de manera rápida y sencilla. Coolies elige a Power BI no solo por sus funcionalidades
de visualización, sino también para mejorar la colaboración y el autoservicio de datos
e informes, características principales del servicio Power BI. El equipo de datos de
Coolies resumió su justificación de por qué Power BI es adecuado para este propósito,
como se indica a continuación:
• Power BI es una oferta de SaaS totalmente administrada, lo que significa menos
infraestructura para que el equipo de Coolies la administre.
• Power BI ha simplificado la visualización y los informes de datos y puede permitir
que cualquier usuario de Coolies sea un analista de datos. La experiencia
del usuario en Power BI es una de las principales ventajas de la plataforma y
permite que los usuarios exploren los datos y los paneles interactivos por sí
mismos. Coolies espera que esto reduzca la sobrecarga y las solicitudes de datos
para su equipo de datos, así como mejorar la colaboración y la participación
de los usuarios empresariales.
• Power BI proporciona una aplicación de escritorio que los usuarios de Coolies
pueden usar para explorar datos, limpiar datos y crear objetos visuales. Esto
es muy atractivo para Coolies, ya que el uso de la aplicación de escritorio de
Power BI es gratis y no requiere una licencia comercial. Además, la experiencia
del usuario en la aplicación de escritorio de Power BI y el servicio basado en la
nube de Power BI es muy similar, lo que significa menos entrenamiento y una
transferencia de conocimientos más sencilla.
Servicios de Azure | 125
• Power BI tiene integración nativa con Azure Active Directory, lo que permite
que los usuarios de Coolies usen sus identidades existentes. Esto simplifica
las implementaciones, mejora la gobernanza y aumenta la seguridad.
Además, Power BI ha pasado por muchas certificaciones de cumplimiento
y está disponible en muchas regiones del mundo, incluida Australia,
que es donde se encuentra Coolies.
• Coolies tiene directrices promocionales y de personalización de marca bien
definidas. Esto significa que todas las visualizaciones y paneles deben cumplir
con los estilos de color y los procedimientos recomendados de Coolies, entre
otros aspectos. Coolies cree que esto mejora la personalización de marca y la
información porque los informes son coherentes y familiares para el usuario.
Power BI admite este requisito al ofrecer varias características, como temas
personalizables, diseños personalizables y otros objetos visuales personalizados.
• Power BI ofrece integración lista para usar con Azure. Esto permite que Coolies
comience con cualquier preparación y transformación de datos localmente
y escalar a Azure cuando sea necesario. Además, Power BI tiene integración
nativa con los servicios de inteligencia artificial de Azure. Esto permite que
Coolies inculque funcionalidades de IA y machine learning para ofrecer
valor de manera más rápida y sencilla, todo desde Power BI.
• El modelo compuesto de Power BI permite a Coolies tener informes enriquecidos
que capturan datos de varios orígenes. Los modelos compuestos permiten
a Coolies incluir sin problemas conexiones de datos desde más de una conexión
de datos DirectQuery o de importación en cualquier combinación. Esto
simplifica las conexiones de datos de los informes a los orígenes de datos y ayuda
a Coolies a crear modelos de datos complejos mediante la combinación de varios
sistemas de origen y la unión de tablas de distintos conjuntos de datos. Además,
el uso de la característica Modo de almacenamiento de los modelos compuestos
en Power BI Premium puede ayudar a mejorar el rendimiento y reducir la carga
de back-end. Esto se debe a que Power BI proporciona al creador de un informe
la capacidad de especificar qué objetos visuales requieren (o no) orígenes de
datos de back-end. Luego, Power BI almacena en caché los objetos visuales que
no requieren actualizaciones continuas de orígenes de datos back-end, lo que
a su vez mejora el rendimiento y reduce la carga en los sistemas back-end.
126 | Casos prácticos empresariales
Implementación de ejemplo
Este es un ejemplo de los paneles de Coolies. Los siguientes informes tienen como
objetivo comunicar el rendimiento de Coolies en términos de ventas de productos
en sus respectivas categorías, las existencias actuales de los productos más vendidos,
las cifras de ventas por año y la distribución regional de los clientes de Coolies.
El informe se creó con datos de ejemplo proporcionados por Microsoft:
Además, Coolies quiere usar Azure Key Vault para quitar la necesidad de que personas
y aplicaciones tengan acceso directo a las claves. Coolies puede usar Managed
Service Identity de Azure para que los usuarios y las aplicaciones puedan usar claves
y contraseñas sin tener que mantener ninguna copia local en sus máquinas. Esto
mejora la postura de seguridad general de Coolies y, al mismo tiempo, simplifica
la administración de secretos.
Azure DevOps
Azure DevOps brinda a Coolies las herramientas, los marcos y los servicios que se
usan para ejecutar una práctica ágil a fin de entregar su solución. Azure DevOps
es un servicio totalmente administrado que permite al equipo de Coolies:
• Planificar, realizar un seguimiento, analizar y supervisar los elementos de trabajo
con Azure Boards. Coolies ya usa prácticas ágiles, donde actualmente se usan
muros físicos para realizar un seguimiento de los elementos de trabajo, pero
Coolies se da cuenta de que los muros físicos no se pueden escalar para equipos
más grandes y están limitados en su funcionalidad. Por ejemplo, Coolies puede
usar Azure Boards para vincular defectos y elementos de trabajo con cambios
de código para supervisar y mejorar la calidad del código.
• Crear, probar e implementar continuamente cambios de código mediante Azure
Pipelines. Azure Pipelines facilita prácticas ágiles, como la integración continua
y la entrega continua, lo que puede mejorar significativamente la calidad y el
ritmo de la entrega. Azure Pipelines también permite a Coolies automatizar los
pasos de implementación necesarios para insertar cambios en el código. Esto
reduce la sobrecarga y mejora la confianza en las nuevas implementaciones.
• Coolies necesita un sistema de control de código fuente para hospedar su
código y scripts. Coolies quiere usar Azure Repos para esto, ya que proporciona
soporte de nivel empresarial, un número ilimitado de repositorios y un entorno
de colaboración para que el equipo de desarrollo analice y revise los cambios
de código antes de combinarlos.
• Azure Test Plans puede ayudar a Coolies en la validación y comprobación de
cualquier cambio de código y datos para brindar a Coolies una mayor confianza
en los cambios antes de combinarlos. Coolies puede usar Azure Test Plans para
realizar pruebas manuales y exploratorias y como Azure Test Plans forma parte
de Azure DevOps, Coolies puede tener una excelente trazabilidad de extremo
a extremo para historias, características y defectos.
128 | Casos prácticos empresariales
Azure Monitor
Coolies reconoce que la disponibilidad y el rendimiento de su plataforma de datos es de
suma importancia para ganar la confianza de todas las partes interesadas. Para lograrlo,
Coolies no solo necesita recopilar y almacenar telemetría de todas las áreas de la
solución, sino también analizar y actuar sobre cualquier dato. Esto requiere un servicio
dedicado, ya que es un desafío importante implementarlo, y eso es exactamente para lo
que Azure Monitor está diseñado.
Azure Monitor es un servicio totalmente administrado que permite a Coolies recopilar,
analizar y controlar datos de todos los componentes de la plataforma de datos de forma
fácil y rápida (incluidos los servicios de Azure, las máquinas virtuales, el rendimiento
de la red y otros orígenes). Azure Monitor ofrece dos tipos fundamentales de datos,
que son los registros y las métricas. Coolies puede usar métricas para obtener
información sobre el estado de sus servicios en un momento determinado, mientras
que los registros ayudan al equipo de Coolies a analizar y visualizar los mensajes de
seguimiento de los componentes de la solución individuales. Azure Monitor también
ofrece muchos gráficos y visualizaciones que Coolies puede usar para visualizar el
estado del sistema de un vistazo. Por último, Coolies puede usar Azure Monitor para
desencadenar acciones como alertas cuando se cumplen determinadas condiciones
(por ejemplo, cuando el número de errores supera un determinado umbral, se puede
notificar al equipo de Coolies por correo electrónico o SMS).
Conocimientos y acciones
Con Microsoft Azure, el equipo de datos de Coolies pudo diseñar, compilar
e implementar la solución de manera rápida y sencilla. En dos semanas, el equipo
encontró una serie de conocimientos clave que pueden ayudar a Coolies a aumentar
sus márgenes de beneficio. Tres de estas ideas se muestran a continuación.
Conocimientos y acciones | 129
Conclusión
Ya vio cómo Coolies (o cualquier otra organización) puede aprovechar Microsoft Azure
para descubrir conocimientos sobre los clientes y agregar valor casi en tiempo real.
Microsoft Azure ofrece una amplia variedad de servicios para la administración y el
análisis de datos y tiene como objetivo optimizar el proceso de desarrollo y, al mismo
tiempo, elevar el nivel de calidad y rendimiento.
Además, Microsoft Azure ofrece muchos servicios de datos y análisis como ofertas
totalmente administradas, lo que significa menos sobrecarga para Coolies (y para
cualquier otra organización). La otra ventaja de usar Azure sin servidor es que las
organizaciones y los equipos pueden empezar poco a poco sin grandes inversiones
y escalar verticalmente a medida que crece la demanda. Este es un gran enfoque
empresarial, ya que reduce los riesgos de la inversión anticipada, al tiempo que mitiga la
carga de la aprobación burocrática de grandes gastos al inicio de un proyecto de datos.
Por último, Microsoft Azure proporciona una gran cantidad de documentación
y materiales de aprendizaje en línea y tiene como objetivo romper la barrera de entrada
al ofrecer crédito gratuito que puede usar cualquier equipo o individuo para empezar
a aprender y crear con Azure hoy mismo.
132 | Casos prácticos empresariales
El problema
Para definir correctamente el problema de negocio, primero debe considerar los
desafíos desde la perspectiva empresarial. Luego, observará los problemas técnicos
que obstaculizan la capacidad de avanzar del aeropuerto.
Desafíos empresariales
Como se mencionó, el aeropuerto NIA recibe a decenas de millones de pasajeros cada
año. Se prevé que el volumen de estos pasajeros aumente en aproximadamente un
20 % en los próximos 3 a 5 años. En 2019, el aeropuerto sufrió una pérdida de más de
USD 370 millones debido a ineficiencias operativas. Esto incluyó los costos por retrasos
de los vuelos debido a la congestión y las largas colas, la pérdida de oportunidades
minoristas debido a la mala experiencia de los pasajeros, la mala planificación
de los niveles de personal y la infrautilización de los activos del aeropuerto.
La directora de informática de NIA, Zara Hassan, es relativamente nueva (solo ha
trabajado en el aeropuerto NIA durante 6 meses) y tiene experiencia en datos e
inteligencia empresarial. Zara tiene la visión de convertir esta ineficiencia masiva
del aeropuerto NIA en una oportunidad de negocio. Presentó un argumento comercial
a la junta del aeropuerto para realizar pequeñas inversiones incrementales en análisis
avanzados para reducir los costos operativos generales del aeropuerto, al mismo
tiempo que mejora la experiencia del cliente.
El problema | 133
Como visionaria, Zara entiende que para que el aeropuerto tenga éxito, tiene que pasar
de observar informes históricos a predecir el futuro. Ella quiere que su equipo ayude
a la dirección del aeropuerto a predecir los retrasos de los vuelos y a mitigar tales
sucesos. Cree que si la administración del aeropuerto tiene acceso a las herramientas
adecuadas, entonces es posible mejorar la planificación de la capacidad, la asignación
de los recursos y la seguridad.
El enfoque propuesto es utilizar datos e inteligencia artificial para modelar pasajeros,
vuelos, equipaje, activos y otros conjuntos de datos para poder predecir con confianza
el volumen de pasajeros y el movimiento de la multitud, lo que a su vez permitirá que
el aeropuerto mejore sus operaciones y reduzca los costos.
Los desafíos empresariales a los que se enfrenta el equipo de análisis de datos del
aeropuerto NIA se pueden resumir de la siguiente manera:
• 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.
Ahora que sabe cuáles los principales puntos débiles que el lado empresarial de NIA
espera abordar, tendrá que considerar los desafíos técnicos para que así pueda empezar
a diseñar una solución.
Desafíos técnicos
No hay una fuente de verdad única: un problema importante que la directora de
informática del aeropuerto NIA intenta solucionar es que el aeropuerto no tiene
actualmente una fuente de verdad única en términos de los orígenes de datos. Hoy
en día, el aeropuerto se basa en informes de una serie de sistemas internos antiguos,
así como informes de socios. Estos informes suelen abarcar aspectos operativos del
día anterior y de la semana anterior y tienen cifras contradictorias. Por ejemplo, los
datos de vuelo actualmente están en manos de las compañías aéreas individuales. El
aeropuerto NIA cuenta con más de 35 compañías aéreas, cada una de las cuales tiene
sus propios sistemas y usa otra terminología. Esto hace que sea extremadamente difícil
para la administración de NIA obtener informes creíbles a tiempo y mucho menos tener
operaciones basadas en datos.
El aeropuerto NIA pierde más de USD 350 millones al año debido a las ineficiencias
operativas, entre las que se incluyen largas colas, niveles de personal deficientes y
subutilización de los activos del aeropuerto. El equipo de inteligencia empresarial del
aeropuerto NIA trabajará para ofrecer herramientas de análisis de datos (paneles,
informes y aplicaciones) que ayuden a la empresa a optimizar las operaciones
y eliminar las ineficiencias.
136 | Casos prácticos empresariales
Almacenamiento de datos
El aeropuerto calcula que sus datos actuales ocupan cerca de 310 TB, lo que no incluye
todos los datos de los socios que se deben recopilar y almacenar. A ello se suma que el
aeropuerto tiene como objetivo usar el transmisión de la cámara, así como las fuentes
de las redes sociales. Esto podría agregar 15 GB adicionales de datos por día en función
de las cifras históricas. Esto requiere un servicio de almacenamiento de datos altamente
escalable que pueda adaptarse de manera elástica a los volúmenes que aumentan con
rapidez. Para abordar este requisito, tiene sentido usar un servicio basado en la nube
como Azure Data Lake Storage para garantizar la escalabilidad elástica y la capacidad
de almacenar datos en varios formatos.
Ingesta de datos
Para garantizar que los datos estén a disposición del personal del aeropuerto y de los
clientes de manera oportuna, los datos se deben ingerir de fuentes internas y externas
rápida y eficientemente. En función de los orígenes de datos que se han analizado,
la solución debe atender a varias formas de ingesta de datos. Esto incluye cargar
volcados de archivos, procesar flujos de datos en tiempo real desde redes sociales
y cámaras de control y extraer datos llamando a API externas. El equipo de datos del
aeropuerto NIA puede crear su propia solución de integración e ingesta, la que sería
muy costosa y requeriría mucho tiempo de desarrollo, o bien usar una herramienta
de ingesta y orquestación de datos basada en la nube, como Azure Data Factory (ADF).
ADF optimiza el proceso de ingesta de datos al ofrecer más de 80 conectores de datos
precompilados, que se pueden usar para integrarlos con una variedad de sistemas de
origen, como bases de datos SQL, almacenamiento de blobs y archivos sin formato.
138 | Casos prácticos empresariales
La solución
Zara, la directora de informática del aeropuerto CIO, con la ayuda del equipo de
inteligencia empresarial, acordó usar Microsoft Azure como proveedor de nube
para crear la nueva solución. Resumieron su razonamiento de la siguiente manera.
• Azure tiene más centros de datos regionales que otros proveedores de nube
importantes. Esto significa que Azure puede proporcionar una mayor resiliencia
y disponibilidad del servicio al aeropuerto. Además de eso, Azure es el único
proveedor de nube que tiene un centro de datos regional en África, que es donde
está el aeropuerto. Esto hace que Azure sea la opción perfecta, ya que cumple
con todos los requisitos.
• El equipo de inteligencia empresarial del NIA descubrió que usar Azure es más
rentable que usar otros proveedores de nube. Azure Synapse Analytics es hasta
14 veces más barato que los servicios de AWS o Google, como se explica en el
primer caso práctico. Además, Azure proporciona la capacidad de usar instancias
reservadas para máquinas virtuales e instancias de proceso, lo que puede ofrecer
descuentos aún mayores. Además, al usar el acuerdo empresarial existente del
aeropuerto NIA con Microsoft, NIA puede obtener todavía más descuentos en
todos los precios minoristas de los servicios de Azure. Esto hace que sea muy
difícil justificar la elección de cualquier otro proveedor de nube.
• NIA también consideró el historial de Microsoft en cuanto a las tecnologías para
desarrolladores y la experiencia de los desarrolladores como una gran ventaja
para Azure. Como empresa de desarrollo de software, Microsoft ofrece la mejor
experiencia de desarrollador gracias a su gran cantidad de propiedad intelectual
en este campo. Esto significa que el aeropuerto NIA puede tener una buena
experiencia de desarrollo e implementación al usar Azure.
• Azure ha obtenido más de 30 certificaciones de cumplimiento, incluidas
ISO/IEC 27001 e ISO/IEC 27018, las que también exige el aeropuerto NIA.
Agregue a eso el hecho de que el modelo de negocio de Azure no se basa
en el uso ni la venta de datos de clientes, que forma parte del modelo de
negocio de otros proveedores de nube. Esto proporciona mayores garantías
al aeropuerto y a su junta administrativa con respecto a que sus datos y los
datos de sus clientes están bien protegidos.
• NIA también espera usar Azure Stack, que proporciona al aeropuerto la
capacidad de hospedar aplicaciones y servicios en las instalaciones y en la
nube sin problemas con la misma infraestructura base, que funciona con
Azure y Azure Stack.
• Por último, NIA quiere tener la capacidad de elegir una mezcla de herramientas
open source, PaaS y SaaS. Azure permite a NIA hacer exactamente eso al ofrecer
excelentes servicios de PaaS y SaaS, como Azure Data Lake, ADF y otros, al
tiempo que admite la integración nativa con servicios open source como
Azure Synapse Analytics.
140 | Casos prácticos empresariales
Arquitectura de la solución
Ahora que el equipo de BI ha perfeccionado los requisitos y se eligió una plataforma en
la nube, es el momento de crear un diseño seguro y escalable. El equipo de inteligencia
empresarial del NIA se dedicó a la siguiente arquitectura de solución:
3. Azure Data Factory inserta los datos estructurados ingeridos en Azure Data Lake
Storage Gen2 para su almacenamiento.
4. El equipo de datos de NIA está adoptando Azure Event Hub para ingerir datos de
transmisión y capturar de forma fácil y rápida los datos ingeridos en Azure Data
Lake Storage Gen2. El equipo aprovecha la función de captura de datos de Azure
Event Hub para almacenar los datos en el lago de datos.
5. Con los cuadernos, los ingenieros de datos de NIA pueden leer, limpiar, transformar
y modelar los datos mediante el tiempo de ejecución de Apache Sparks en Azure
Synapse Analytics.
6. Luego, los datos limpios que ya están listos para su consumo se insertan en Azure
Cosmos DB desde Azure Synapse. Esto incluye los datos de vuelo y los datos de
equipaje más recientes. Las API y las aplicaciones aeroportuarias pueden extraer
estos datos directamente de Cosmos DB para atender a los pasajeros y al personal.
7. Power BI también está configurado para leer conjuntos de datos más extensos
directamente desde Azure Synapse. Algunos ejemplos de los datos que se
insertarán con este mecanismo son los resultados de la descodificación de la
transmisión de videos del tráfico para crear mapas de calor de las personas.
8. Azure Machine Learning se usa para administrar los modelos de machine learning,
los conjuntos de datos, los experimentos y las imágenes del nuevo modelo. Azure
Machine Learning tiene integración nativa con Azure Synapse Analytics.
9. Azure Machine Learning se usa para entrenar y crear sus modelos de machine
learning. Los modelos resultantes se almacenan como imágenes de Docker
en Azure Container Registry. Las imágenes de Docker se usan generalmente
como una forma de empaquetar modelos de machine learning con todas sus
dependencias (bibliotecas, código fuente y archivos de configuración) como
un único paquete implementable. Esto mejora el ciclo de vida del desarrollo
y reduce los errores de implementación.
10. Azure Kubernetes Service está configurado con la implementación para tomar
las nuevas imágenes del modelo de machine learning de Azure Container Registry
y ejecutar estos modelos como pods de Kubernetes. Esto hace que los modelos de
machine learning estén disponibles para generar predicciones realizando llamadas
HTTP sencillas. Algunos ejemplos de los modelos de machine learning son un motor
de recomendación para las asignaciones de puertas de embarque y un modelo
de machine learning de previsión de la demanda de estacionamientos.
142 | Casos prácticos empresariales
Servicios de Azure
Como con el primer caso práctico, en las secciones siguientes se describirá cada uno
de los servicios de Azure que se muestran en la Figura 4.6. Primero explicarán por qué
se necesita cada servicio, por qué es adecuado para el aeropuerto NIA y, finalmente,
se mostrará un breve ejemplo práctico de la parte fundamental de su implementación.
Para evitar las repeticiones, se omitirán los servicios de Azure que ya se describieron en
el primer caso práctico, a menos que NIA tenga requisitos específicos para ese servicio.
Servicios de Azure | 143
Implementación de ejemplo
El siguiente fragmento de código configura una conexión a Azure Cosmos DB desde un
cuaderno de Spark mediante el conector de Azure Cosmos DB. El siguiente código de
Python tiene un marcador de posición para la clave maestra de la instancia de Azure
Cosmos DB y supone que el aeropuerto NIA tiene una instancia de Azure Cosmos
DB que se llama NIAAnalytics, que tiene una colección denominada flights_data.
El código guarda un DataFrame flights (Spark DataFrame) en Azure Cosmos DB:
# Config to connect to Cosmos db
config = {
"Endpoint": "https://NIAairport.documents.azure.com:443/",
"Masterkey": "{masterKey}",
"Database": "NIAAnalytics",
"Collection": "flights_data",
"Upsert": "true"
}
flightsDf.write.format("com.microsoft.azure.cosmosdb.spark").
options(**config).
save()
144 | Casos prácticos empresariales
Azure Cosmos DB
Rol en el diseño
Azure Cosmos DB tiene dos propósitos principales: almacena todos los datos de
aplicación para aplicaciones como Passengers Hub y Airport Brain y también se usa
para entregar datos seleccionados que están listos para su consumo por parte del
personal del aeropuerto y las partes interesadas externas (como los pasajeros).
Implementación de ejemplo
Uno de los aspectos buenos de Azure Cosmos DB es su compatibilidad con muchos
modelos y controladores de consulta. Los siguientes fragmentos de código muestran
cómo se puede consultar Cosmos DB mediante SQL o MongoDB. Ambos ejemplos están
escritos en C#:
1. El primer fragmento de código consulta los registros de la tabla passengers y busca
pasajeros llamados Bob. Luego, recorre en iteración todos los resultados devueltos e
imprime el nombre del pasajero en la consola:
var sqlQuery = "SELECT * FROM P WHERE P.FirstName = 'Bob'";
Console.WriteLine("Running query: {0}\n", sqlQueryText);
var queryDefinition = new QueryDefinition(sqlQueryText);
var queryResultSetIterator = this.container
.GetItemQueryIterator<Passenger>(queryDefinition);
List<Passenger> passengers = new List<Passenger>();
while (queryResultSetIterator.HasMoreResults)
{
var currentResultSet = await queryResultSetIterator.ReadNextAsync();
foreach (Passenger p in currentResultSet)
{
passengers.Add(p);
Console.WriteLine("\tRead {0}\n", p);
}
}
146 | Casos prácticos empresariales
2. El segundo fragmento de código realiza una consulta similar, pero usa la API de
MongoDB. Crea primero MongoClientSettings y luego MongoClient, que se usa para
obtener una referencia a Azure Cosmos DB. El código supone que los valores de
configuración ya están configurados. El código crea una referencia a (NIAAnalytics)
del aeropuerto NIA y consulta passengerCollection:
var settings = new MongoClientSettings();
MongoClient client = new MongoClient(settings);
var dbName = "NIAAnalytics";
var collectionName = "Passengers";
var database = client.GetDatabase(dbName);
var passengerCollection = database.
GetCollection<Passenger>(collectionName);
passengers = passengerCollection.Find(new BsonDocument()).ToList();
Implementación de ejemplo
Azure Machine Learning facilita crear versiones, hacer seguimiento y trabajar con varias
versiones de un conjunto de datos para el machine learning. En el siguiente fragmento
de código se crea primero un almacén de datos para indicar a Azure Machine Learning
dónde debe almacenar los datos:
# creating a ref to Azure ML Service Workspace
import azureml.core
from azureml.core import Workspace, Datastore
ws = Workspace.from_config()
# Registering Azure Blob container as the datastore
datastore = Datastore.register_azure_blob_container(workspace=ws, datastore_
name='NIA_airport_datastore',
container_name='NIA_Analytics',
account_name={storageAccount},
account_key={storageAccountKey},
create_if_not_exists=True)
# get named datastore (if exist)
datastore = Datastore.get(ws, datastore_name='NIA_airport_datastore')
El fragmento de código anterior escrito en Python crea primero un espacio de trabajo de
Azure Machine Learning a partir de un archivo de configuración existente. A continuación,
el código crea un almacén de datos al registrar un contenedor Azure Blob como almacén
de datos. El ejemplo asigna el nombre NIA_airport_datastore al almacén de datos y tiene
marcadores de posición para la clave y el nombre de la cuenta de Azure Storage. Por último,
el ejemplo crea una referencia a un almacén de datos que ya existe con su nombre.
El siguiente fragmento de código registra un nuevo conjunto de datos y proporciona un
nombre, una descripción y una etiqueta para facilitar la búsqueda de este conjunto de
datos en el futuro:
passengers_ds = passengers_ds.register(workspace =ws,name='passengers_
dataset',description = 'passengers personal data and address',tags =
{'year': '2019'})
Implementación de ejemplo
El código siguiente es parte de la plantilla de Azure Resource Manager (ARM) que
el aeropuerto NIA usa para crear la instancia de Azure Container Registry. Crea una
instancia de Azure Container Registry (nivel estándar) en el centro de datos de la
región Norte de Sudáfrica de Azure. La plantilla también permite que la cuenta de
usuario administrador administre el registro. La plantilla de ARM tiene dos parámetros:
uno para el nombre del registro y el otro, para la versión de la API de ARM:
{ "resources": [
{
"name": "[parameters('registryName')]",
"type": "Microsoft.ContainerRegistry/registries",
"location": "South Africa North",
"apiVersion": "[parameters('registryApiVersion')]",
"sku": {
"name": "Standard"
},
"properties": {
"adminUserEnabled": "True"
}
}
]
}
• Además de la integración nativa con otros servicios de Azure, AKS se integra muy
bien con Azure Active Directory. Esto significa que el NIA puede aprovechar esta
integración para mejorar la seguridad. Además, el aeropuerto NIA puede usar
Azure Policy para aplicar la gobernanza en toda la organización.
• Azure proporciona una gran compatibilidad con herramientas open source
como Kubernetes no solo en la nube, sino también en el perímetro. El equipo
del aeropuerto NIA entiende que hay escenarios en los que insertar informática
en el perímetro podría ser la mejor opción. Un ejemplo de esto es su plan
de insertar modelos de machine learning cerca de las cámaras de control de
tráfico para desencadenar alertas cuando se produce un evento de seguridad.
Microsoft Azure tiene una buena compatibilidad para ejecutar Kubernetes en
Azure IoT Edge en estos escenarios. Por lo tanto, el uso de AKS será una buena
opción para los planes futuros de insertar modelos de machine learning en
el perímetro mediante Kubernetes con Azure IoT Edge.
Implementación de ejemplo
El siguiente fragmento de código forma parte de la canalización de Azure DevOps
Services del aeropuerto NIA que implementa la nueva aplicación web Airport Brain.
El código aprovecha la compatibilidad de Azure DevOps con Kubernetes al usar el
tipo de tarea KubernetesManifest. La tarea implementa la imagen de Docker de nia/
aiportbrain:lastest en el AKS preconfigurado mediante el uso de NIAairport_
AksServiceConnection. El código siguiente tiene un marcador de posición para
imagePullSecret, que se usa como el mecanismo de autenticación para insertar
imágenes de Azure Container Registry en el destino de la implementación (AKS):
152 | Casos prácticos empresariales
steps:
- task: "KubernetesManifest@0"
displayName: "Deploy AirportBrain to K8s"
inputs:
action: deploy
kubernetesServiceConnection: "NIAairport_AksServiceConnection"
namespace: "airportbrain"
manifests: "manifests/deployment.yml"
containers: 'nia/airportBrain:latest'
imagePullSecrets: |
$(imagePullSecret)
Power BI
Rol en el diseño
Parte de la estrategia de Zara para los informes del aeropuerto NIA es tener Power
BI como la herramienta de visualización dentro de NIA. Power BI se puede usar
para generar informes y paneles y para fines de autoservicio. El equipo de BI espera
aprovechar también la capacidad de Power BI para integrarse en otras aplicaciones
web para reutilizar las visualizaciones de Power BI dentro de otras aplicaciones
nuevas, como Passenger Hub.
¿Por qué usar Power BI?
Además de todas las ventajas de Power BI que se mencionaron en el Caso práctico 1, los
informes y paneles de Power BI se pueden insertar en otras aplicaciones web. El equipo
de inteligencia empresarial del NIA quiere aprovechar la simplicidad y la eficacia de
los objetos visuales de Power BI para crear los paneles para las aplicaciones Passenger
Hub y Airport Brain. Con los informes de Power Bi integrados, el equipo de inteligencia
empresarial del aeropuerto NIA crea y envía informes de manera rápida y sencilla,
al mismo tiempo que los brinda de forma segura a través de las nuevas aplicaciones
web del aeropuerto.
Implementación de ejemplo
En Power BI, puede insertar cualquier informe de Power BI dentro de cualquier página
web. En el servicio de Power BI, mientras muestra el informe, haga clic en la opción
Share (Compartir), seleccione Embed report (Insertar informe), seguido del sitio
web o el portal. Esto crea un cuadro de diálogo que incluye el código de inserción
que se utilizará en el sitio web o portal de destino:
Servicios de Azure | 153
Servicios de soporte
El aeropuerto NIA quiere asegurarse de que la nueva solución es segura y escalable
y tiene un buen nivel de supervisión y soporte. Azure tiene muchos servicios que
permiten a organizaciones como el NIA proteger, escalar y supervisar sus soluciones.
Esto incluye todos los servicios mencionados en el primer caso práctico, como Azure
DevOps, Azure Key Vault y Azure Monitor.
Conocimientos y acciones
Azure ayudó al aeropuerto NIA a obtener conocimientos importantes después del análisis
e implementar las medidas necesarias, tal como se describe en las secciones siguientes.
Conclusión
Los aeropuertos tienen operaciones y procedimientos complejos y funcionan las
24 horas del día. Por lo tanto, incluso hacer pequeñas mejoras puede significar grandes
ahorros para el aeropuerto y puede mejorar la seguridad y la satisfacción del cliente.
En las páginas anteriores, se analizó un ejemplo práctico de un gran aeropuerto.
Si bien los nombres son ficticios, muchos de los números discutidos aquí se basan en
un caso práctico real en el que el autor estuvo involucrado. Hemos visto cómo se puede
utilizar el análisis avanzado para mejorar la eficacia y ahorrarle millones de dólares
a una organización. Los datos se pueden utilizar no solo para ayudar a los aeropuertos
a ahorrar en sus costos operativos, sino también para crear una ventaja competitiva.
También se analizó cómo se puede implementar una solución basada en datos
mediante Azure y por qué Azure es la plataforma perfecta para ejecutar estas cargas
de trabajo. Azure es accesible, seguro y proporciona a las organizaciones la capacidad
de ser ágiles y escalables.
Conclusión
5
Hoy en día, los datos son la fuerza motriz detrás del éxito corporativo. Cada
organización está utilizando datos para formular decisiones de negocios. Al usar el
enorme aumento de los datos generados y recopilados por las organizaciones de una
gran cantidad de orígenes de datos (ya sean datos estructurados, semiestructurados
o no estructurados), Azure Synapse Analytics ofrece un servicio de análisis ilimitado
que reúne la ingesta de datos, el almacenamiento de datos empresariales y el análisis
de macrodatos.
La experiencia unificada en Azure Synapse Analytics permite a los clientes crear
soluciones de análisis integrales y realizar la ingesta de datos, la exploración de datos,
el almacenamiento de datos, el análisis de macrodatos y las tareas de machine learning
desde un único entorno optimizado. Azure Synapse ofrece un medio prometedor de
analizar datos para obtener información en tiempo real. Esto es esencial para tomar
decisiones empresariales y derivar estrategias empresariales.
Este libro lo llevó a través de un recorrido en el análisis de la nube con Microsoft
Azure al mostrarle cómo puede crear su almacenamiento de datos con Azure Synapse,
procesar y visualizar datos, y crear soluciones de análisis integrales utilizando
el entorno unificado en Synapse Studio.
158 | Conclusión
Palabras finales
Azure Synapse reúne los mundos del almacenamiento de datos empresariales y el
análisis de macrodatos en una experiencia unificada que le ayuda a acelerar su tiempo
para obtener información. El modelo en la nube para los almacenamiento de datos
modernos no solo es flexible y escalable, sino que también es rentable debido a sus
propiedades elásticas únicas. Las cargas de trabajo de análisis son un escenario
en el que la elasticidad realmente se destaca.
Con Azure Synapse, profesionales de datos de diversos conjuntos de habilidades pueden
colaborar, administrar y analizar con facilidad sus datos más importantes, todo desde un
mismo servicio. La integración de Apache Spark con el eficaz motor SQL de confianza
y la posibilidad de integrar y administrar datos sin necesidad de programar código
demuestran que Azure Synapse está pensado para todos los profesionales de datos.
Ahora que llegó al final de este libro, ya conoce los servicios y herramientas que
necesita para crear su propia solución de análisis de datos completa en Azure. La mejor
manera de comenzar es empezar poco a poco, mediante la integración de algunas
de las tecnologías que este libro ha presentado en su flujo de trabajo existente. Luego,
agregue gradualmente más capacidades en el futuro a medida que sus necesidades
evolucionen.
Le deseamos lo mejor en su viaje al análisis en la nube y el almacenamiento
de datos moderno.
En la siguiente sección, le proporcionamos recursos adicionales para el aprendizaje
adicional.
Acerca de
Todas las palabras clave importantes que se usan en este libro aparecen ordenadas
alfabéticamente en esta sección. Cada una va acompañada de los números de las páginas
donde aparecen.
A apache: 23, 28, 31, 50-52,
65, 91, 93, 117-118, 138,
C
marca abc: 108 141, 145, 147, 159-160 cachés: 125
abstrae: 149 apiversion: 150 almacenar en caché:
acelerar: 2, 89, aplicado: 6, 135 15, 65, 71
94, 146, 160 enfoques: 13-14, 72 campaña: 130
accesible: 2, 4, 8, matrices: 90 capacidad: 18,
12, 18, 89, 118 articular: 106, 110 132-133, 151, 154
accountkey: 120 artificial: 2, 6-8, 67, operador: 134
cuentas: 20, 138 90, 103, 112, 133 cassandra: 10
precisión: 6-9, 16, 94, evaluación: 11 categorías: 5-6, 92, 126
100, 103, 129, 133 activos: 19, 32, 111, 118, central: 112, 114-115,
activar: 64 132-133, 135, 142 119, 127, 142
activo: 10-11, 44, 71-72, 96, asignación: 154 canales: 92, 106-107, 113
115, 118, 125, 128, 138, 151 atributos: 111 chatbots: 26, 92
avanzado: 11, 16, 31, 65, 69, audiencia: 96 clasificado: 11, 20
91, 115, 132, 147, 156, 159 automatizar: 92-94, limpieza: 146
agentes: 7 126-127, 146-147 clics: 19, 28, 32
agregado: 96, 107, 134 automatizado: 8, 91, 158 cliente: 96, 146
alertas: 22, 70, 128, automl: 65, 91, 93-94, 147 clúster: 22, 71, 95, 114, 151
134, 142, 151 autónomo: 16 sin código: 28-29,
algoritmo: 6-7, 91, 94, 147 promedio: 49, 111, 130, 132 60, 158, 160
asignación: 133, 146 azureml: 148 programar: 94, 96
amazon: 160 cognitivo: 7, 89, 92
análisis: 2-4, 6-7, 20, B comando: 93
56, 59, 69, 90-92, 94, commission: 52
back-end: 125
115, 136, 154, 158 confirmar: 64
referencia: 117
analítico: 1-2, 4-5, 7-12, compatible: 111, 118, 149
bigquery: 160
14-17, 20, 22-24, 26-34, competidor: 5, 109
planos: 147
36, 41-43, 50, 59, compilar: 3
compilaciones: 120, 149
64-65, 67-74, 76-77, cumplimiento: 30, 112,
integrado: 69, 74, 77, 95
82-83, 89, 91-96, 115, 119, 125-126, 139
empresa: 1-2, 4-10, 12,
103, 105-106, 112-118, componente: 114
14, 16, 19, 21-22, 24,
128-129, 131-133, proceso: 6, 18, 30,
26, 28-29, 32, 65, 68,
135-139, 141-142, 145, 71, 95, 100-101,
71, 91, 103, 105-106,
147-148, 154, 156-160 138-139, 142, 147
109, 112, 114, 117, 124,
analizar: 3, 13, 15, 17-18, 24, equipos: 68, 95, 151
126, 129-136, 138-140,
28, 50, 56, 59-60, 109, informática: 1, 9,
142-147, 149, 152,
128, 136-137, 159-160 12, 18, 147, 151
154-155, 157-159
anomalías: 5, 20 simultáneo: 23
condiciones: 76,
110-111, 128
configuración: 143, 148 conjunto de datos: descargar: 70, 83
configurar: 63, 101, 122, 4-6, 13, 16, 19, 47, tiempo de inactividad:
140, 149, 151, 153 52-53, 70, 75-77, 13, 15, 144
configurado: 14, 141, 146 79, 82-84, 100, 102, dresner: 1
congestión: 132, 134, 155 109-110, 121-122, 148 controladores: 14,
conectar: 45, 83, 94, 114, almacén de datos: 148 26, 144-145, 158
119-120, 140, 143-144 dateid: 46 impulsar: 7, 14, 16, 157
conexión: 22, 72, 84, dbname: 146 desplegable: 77
122, 127, 143 decidir: 147 libre de impuestos:
conector: 143 predeterminado: 38-39, 133, 155
conectar a través 55-56, 58, 67 dinámico: 7, 20, 65
de: 120, 122 definición: 148
consola: 145 retrasos: 132-135, 142, 154 E
consumidor: 3, 71, 96, 106 eliminar: 15, 103
ecosistema: 3, 67,
contenedor: 93, 95, 97, densenet: 96, 99
89-91, 93
141, 145, 148-151 implementar: 13, 68,
eficiencia: 5, 154, 156
cortana: 7, 26, 92 93-94, 103, 110, 127-129,
elástico: 71, 111, 115,
cosmos: 10, 141-146 142, 147, 152, 154
137-138, 144, 151, 160
cosmosdb: 143 implementación: 30,
integrado: 5, 69, 152-153
covid-: 72, 75, 77, 79, 84, 87 94-95, 127, 139, 141,
codificar: 5
seleccionado: 32, 144, 149, 151-152
encuentro: 64, 71, 105
77, 142, 144 diseñar: 68, 106, 110,
cifrado: 11, 115, 118, 127
personalizar: 23, 69-70, 112-115, 117, 119, 124, 126,
integral: 9-10, 29-30,
125, 140, 145 128, 132, 136, 140, 142,
41, 65, 93-94, 127,
cliente: 1, 6, 11, 16, 19, 30, 144, 146, 149-150, 152
151, 157-159
106-108, 110-111, 114, 116, designer: 94, 96, 99
motor: 28, 96, 117, 141-142,
131-134, 137, 139, 156 escritorio: 24, 67-69,
144, 149, 154, 159-160
personalizado: 3 72, 83, 85-86,
ingenieros: 8, 10, 13, 15,
91-92, 103, 124
D desarrollar: 45, 54, 56,
18, 21-22, 41, 65, 70, 89,
114, 116-118, 138, 141, 143
58, 61, 71, 82, 112, 119
panel: 25, 68-70, 89, empresa: 9, 28, 41, 69-70,
desarrollador: 29, 118, 139
129-130, 142 115, 139, 157, 160
dispositivo: 5, 89, 142
base de datos: 5, 11, 14-19, entidades: 94
devtest: 14
21, 23, 32, 44, 50, 54-56, entradas: 90
digital: 7, 14, 106-107,
70-71, 74-77, 79, 82-83, equipo: 133
110, 113
89-90, 120, 122-123, errores: 20, 128, 141, 150
directamente: 19, 71, 89,
126, 143-144, 146 estimado: 129-130,
93, 108, 141, 145, 155
databricks: 89, 93-95 133, 154-155
mostrar: 56, 72,
centro de datos: 135, evaluación: 100
79, 81, 84, 86
139, 150 eventos: 107
docker: 13, 95, 141, 149-151
dataframe: 53, 143 ejecución: 64, 79
dominio: 114
dataops: 2, 8, 26, 158
ejercicio: 77, 97,
100, 103, 118
H integrado: 32, 41,
65, 69, 117
experimento: 54, 100-102 hadoop: 22 interfaz: 8, 18, 41, 68,
explorar: 8, 16, 22, 28, 41, manejar: 4, 15, 26, 93-94, 119, 149
44, 47, 50, 65, 72, 87, 89, 109, 115, 143
92, 103, 114-115, 124, 135 hardware: 15, 90, 93 J
extendido: 92 hashtag: 130
jupyter: 94-95, 145
extensible: 91 híbrido: 14, 113, 119
justificar: 139
extenso: 141
externo: 69-70, 85, I K
135-137, 144, 159
identificado: 21, 137
kubelet: 151
F identidades: 125
identidad: 10, 92,
kubernetes: 13, 95,
141-142, 149-151
instalaciones: 136, 155 127-128, 138
factor: 5, 7, 147
característica: 23, 64,
iframe: 153
implementar: 30, 87,
L
69, 94-96, 114, 119, 90-91, 103, 112, 128, 159 etiquetas: 6, 70
125, 141-142, 145-146 importar: 84-85, lenguaje: 29, 31, 55-56,
comentarios: 25, 70, 94, 125, 148 58, 92, 108
108, 124, 137 indicadores: 106 diseño: 154-155
nombre de archivo: 20 adquisición: 21-22, 30, 32, learning: 2, 6-8, 10, 13,
sistema de archivos: 121 108, 110, 116-117, 137, 157 16-17, 23, 26, 28-32,
filtros: 23 inherente: 6 65, 67, 70, 89-99,
firewall: 11 entradas: 123, 152 101, 103, 112, 125,
nombre: 145 insertar: 19, 70 131, 138, 141-143,
carpeta: 76 conocimientos: 2, 4-5, 146-151, 154, 157-160
ruta de carpeta: 121 7, 9, 17, 22-23, 28-29, licencia: 72, 124
huella: 14 31-32, 65, 67-68, 86, ciclo de vida: 30
formato: 5, 19-22, 70, 77, 97, 103, 105-109, 119, vinculado: 28, 52-53,
86, 95, 108, 111, 115, 143 126, 128, 131, 134-136, 60, 72-74, 76, 83,
marco de trabajo: 138, 154, 157, 159-160 96, 120-122, 159
89, 91-93 instalado: 9-10, 91, 110, 136 lógico: 14, 60
función: 6, 10 instancia: 4, 6-7, 13-15, lógicamente: 13
funcional: 120 17, 23, 95, 97, 107-108, logística: 5
111, 115, 127-128, 134, poco código: 94
G 143-144, 149-150
integrar: 60-61, 89, 92-93,
gateway: 11, 69, 140
119, 136-137, 149, 159
gigabytes: 5, 14-15, 68, 108
github: 16
M moderno: 2, 4, 7, 15-18,
20-22, 26, 32-33, 67, 70,
O
machine: 2, 6-7, 10, 94-96, 105, 119, 158-160 objeto: 91-92
13, 15-17, 23, 26, 28, mongodb: 10, 20, 144-146 a petición: 68, 158-159
30-32, 65, 67-68, supervisar: 5, 8, 64-65, openrowset: 77
83, 85, 89-101, 103, 71, 94, 112, 127-128, operar: 92
112, 125, 138, 141-143, 147, 151, 154 operación: 132
146-151, 154, 157-159 supervisión: 3, 22, 30, optimizar: 31, 106, 135, 146
administrar: 11, 18, 65, 107, 115, 130, salida: 6-7, 48
22, 28-29, 43, 50, 136-137, 151, 154-155 información general: 90, 98
72, 115, 117, 119-120, multitud: 117, 157
124, 127-128, 136, mysynws: 35, 41 P
141, 150-151, 160
responsable: 110, 147, 150 N paquete: 141
empaquetar: 141
manual: 22, 127
namespace: 152 paralelo: 111, 117
mercado: 1, 4-5, 16, 117, 119
namespaces: 116 parámetro: 5, 150
maestro: 13, 143, 151
nativo: 69, 115, 118, 120, estacionamiento:
masterkey: 143
125, 138-139, 141, 147, 151 136, 140-141
mecanismo: 15-16, 25, 69,
navegar: 7 parquet: 77
94, 115, 136, 141, 151
navegación: 7 pasajeros: 49, 106,
megabytes: 68
navegador: 84 132-138, 141-142,
metadatos: 20
red: 5, 11, 69, 107, 144-146, 148, 154-155
método: 41-42, 83
118-119, 128, 149 contraseña: 38, 122
microsoft: 2, 4, 7-18,
conexión en red: patrón: 6-7, 11, 18, 22, 130
20-22, 26, 28, 30,
3, 15, 38-39 realizar: 10, 13, 19, 22-23,
67-68, 89-90, 92-94,
redes: 11, 14 26, 29-30, 32, 56,
105, 112, 114-115,
aeropuerto nia: 60, 64, 68, 70-72, 85,
118-119, 126, 128,
143, 151-152 89, 93, 96, 157-159
131-132, 138-139, 143,
sin código: 94 petabytes: 4, 12, 14, 16
147, 150-151, 157-160
norte: 132 canalización: 2, 4, 7, 17,
migrar: 7
cuaderno: 53-56, 58, 21-23, 29-30, 32-33,
migración: 14
60-61, 93, 118, 143 60-61, 64-65, 89, 93,
móvil: 1, 4, 8, 14, 19, 25,
número: 2, 20, 49, 87, 96, 99-100, 102, 129-131,
69-70, 89, 91-92,
96, 109-110, 126-128, 146-147, 151, 155-156
106-107, 142
133-134, 136, 146, 154 plataforma: 2, 4, 9-11,
modelar: 2, 21, 23,
numerado: 113, 140 23, 26, 29-30, 67-68,
72, 129, 154
pocas palabras: 6, 28 70, 96, 111-112, 117, 119,
modelos: 5, 7, 15-16, 18, 28,
nytaxiblob: 47 124, 128, 132, 136, 138,
32, 71, 89-95, 100, 112,
140, 142-144, 156, 158
114, 125, 138, 141-142,
directivas: 14, 71, 135, 150
145-147, 149-151, 159
popular: 3, 17, 89, 143
portátil: 93, 95
portal: 34, 41, 71, 97,
119, 142, 152, 154 Q resultados: 5, 8, 18, 20,
29, 32, 34, 50, 54,
powerbi: 88 calidad: 4-5, 109, 114, 56-57, 60, 81, 90,
127, 131-132, 146 112, 130, 141, 145
precompilado: 119, 137
conjunto de resultados: 65
premium: 114, 125 consultas: 23, 31,
59-60, 70-72, 114, comercio minorista:
vista previa: 76 2, 9, 92, 96, 106,
privacidad: 11 117, 145-146, 158
132-133, 139, 155
privado: 11, 14, 118 colas: 110, 132-135, 155
robusto: 4, 9, 16, 71-72
procedimientos: 136, 156 inicio rápido: 34, 36
entorno de ejecución:
proceso: 4, 8, 16, 18, quotechar: 121 117, 120, 122, 140-141
22-23, 32, 67, 91,
107, 109, 131, 137, 142,
146-147, 157, 159
R S
procesar: 2, 4, 8, 10, 13, recaudación: 131 sandbox: 115-116
16, 23, 29, 32-33, 67, ganaderos: 3 escalable: 4, 17, 21, 67,
70, 90, 92, 107, 111, 113, tiempo real: 8, 17, 70-71, 111, 117, 137,
116-117, 120, 137, 159 21, 23, 65, 95, 103, 140, 154, 156, 160
producción: 13-14 105-106, 108-110, escalado: 5, 12-13,
productos: 1-2, 4, 6-7, 130-131, 136-137, 145, 15, 26, 71
9-10, 14-15, 21-22, 24, 154-155, 157, 159 escaneo: 155
26, 29, 67, 93, 106-107, registro: 5, 19, 107, 139, 145 esquema: 18-19, 23,
110-111, 117, 126, 129-130 118, 120-122
recuperación: 18, 30, 149
perfil: 110-111, 129
referencia: 85, 121, 146, 148 pantalla: 84
programa: 6, 106, 110
región: 13, 35, 70, 77, 86 script: 11, 45-48,
pedir: 77, 83 60, 76-78, 80
regiones: 12, 14, 24, 77,
propiedades: 78, 120-122, 112, 119, 125, 149
150, 153, 160 buscar: 3, 34, 72, 92, 97
registro: 35, 148 sección: 4, 17-18, 29,
proteger: 8, 11, 30, 33, 41, 43, 54, 56, 60,
71, 118, 127, 135 registrado: 19, 35
generación de informes: 64, 71-72, 74, 78-79,
protocolo: 22 82, 86-87, 89, 98,
71-72, 107-108, 124, 152
prototipo: 16 126, 146, 158, 160
informes: 23, 25,
proveedor: 2, 15-16, 67-72, 77, 96, 103, seguro: 22, 70, 111, 116,
18, 22, 35, 138-139 127, 140, 154, 156
107, 112-114, 124-126,
aprovisionar: 15, 33, 133-135, 142, 152 seguridad: 11, 30,
43, 50, 60, 65, 71, repositorio: 5, 11, 37-38, 65, 69-71,
151, 158-159 16, 91, 100 95, 115, 118-119, 122,
125-128, 133, 135,
público: 11, 14, 77, 91, solicitudes: 11, 13, 65, 124 138, 147, 149, 151
111, 129, 154-155 recursos: 11-15, 27-28,
30, 44, 59-60, 103, segmentos: 113, 140
pyspark: 55-56, 58
132, 134, 136, 138, seleccionar: 34, 43,
python: 9, 31, 55-56, 45, 48-50, 52-54,
58, 94, 118, 143, 148 147, 150, 158, 160
56, 58, 60-62, 64,
pytorch: 94, 143, 147 70, 76-77, 80-81, 84,
101, 123, 145, 152
selector: 86
sin servidor: 28, 31, 50, consulta sql: 145 113-115, 117-123, 128-129,
59-60, 65, 74, 91, sellos: 19-20 138-139, 141-143,
126, 131, 158-159 estándar: 114, 149-150 147, 150, 157-160
nombre del servidor: 122 instrucción: 47, 77, 135 sintaxis: 158
servidores: 14-15, 107, almacenamiento: 6, 10, sistema: 5, 18-21, 36,
113, 126, 128, 144 15, 18-19, 21-22, 30, 32, 92-93, 110, 114,
servicio: 1-2, 7, 9-11, 36-37, 47, 59-60, 69, 76, 127-128, 136, 138
97, 111, 113-116, 120-121,
13-16, 22-23, 28, 31-32,
65, 68-69, 73-74, 89, 123, 125, 128, 137, T
91-92, 96, 110, 114, 117, 140-141, 144-145, 148 tableau: 24, 118
119-122, 124, 127-128, almacenado: 5, 17-18, nombre de tabla: 123
132, 134, 137, 139, 22-23, 71, 84-85, tablas: 21, 48, 69, 125
141-142, 145, 148, 150, 108, 110, 112, 115-116, tabular: 107, 115
152, 157-158, 160 122, 137, 141-142 taxamount: 47
servicios: 3-5, 7, 9-18, 20,
almacenes: 106, 108-111, taxitrip: 46-49, 55-56
22, 24, 28-30, 32-34,
125, 144-145 técnico: 13, 69, 106-107,
67, 69, 71-72, 89-90,
92-93, 95, 105-106, estrategias: 157 110, 112, 132, 134, 136
109, 112, 114-115, 117, secuencia: 20, 141 tecnología: 3, 8-9, 20, 159
122, 125-128, 131-132, transmisión: 114, tensorflow: 89, 91,
137-139, 142, 147, 149, 136-137, 140-141 94, 143, 147
151, 154, 159-160 optimizar: 131, 146 terabytes: 4-5, 12,
sesiones: 142 cadena: 21 14-15, 108
configuración: 7-8, estructura: 4 probar: 9, 14, 112, 127, 155
15, 74, 92, 101 estructurado: 4-5, 13, kit de herramientas: 160
compartido: 71, 130 18-23, 68, 70, 107-109, tráfico: 5, 7, 96, 136,
fragmento: 121-123, 143, 111, 113, 115, 140-141, 157 140-141, 144, 151, 154-155
145-146, 148, 151 studio: 7, 16, 27-28, 33, entrenamiento: 21,
software: 1, 9, 28, 68, 41-43, 45, 48, 50, 52, 23, 91-92, 100, 112,
93-94, 124, 139 54, 56, 58, 60-61, 124, 146-147
solución: 9-10, 14, 18, 64-65, 67, 71-72, 74, 79, transferir: 22-23,
33, 106, 110, 112-114, 82, 89, 93-95, 98-99, 69, 76, 124, 144
117, 126-129, 132-138, 118, 151, 157-158 transformar: 19, 23,
140, 154, 156, 158, 160 subconjunto: 6 29, 89, 92, 109, 115,
orígenes: 1, 4-5, 14, 16, soporte: 4, 11, 14, 17, 19, 119, 124, 141, 143
18-23, 28-29, 32, 52, 68, 21, 28, 31-32, 65, 69, tránsito: 5, 115
70-71, 84-85, 94, 96, 91-92, 95, 118, 126-127, traducir: 92-93
108-111, 114-115, 119, 125, 138, 147, 151, 154 desencadenador: 62-64,
128-130, 134-137, 140, synapse: 4, 9-11, 14-17, 101, 113, 128, 149, 151
144, 154-155, 157, 159 22-23, 26-39, 41-43,
splunk: 107 45, 48, 50, 52, 54,
grupo de sql: 44-45, 56, 58-61, 64-65, 67,
48, 54-55, 58 70-77, 79, 82-83, 89,
91, 93-96, 103, 106,
U W
unificado: 27-28, 30, almacenamiento: 2, 4,
65, 67, 70-71, 96, 103, 7, 15-18, 22-23, 26-31,
117, 142, 157-158, 160 33, 65, 67, 70-71,
actualizar: 85, 134, 145 94-96, 105, 107, 114,
nombre de usuario: 122 117-119, 135, 157-160
windows: 9, 47, 67-68,
V 72, 77-78, 83, 91,
93, 120, 122, 138
validar: 16, 107, 110, 114, 146
cargas de trabajo: 7, 13,
validación: 127, 146, 154
31, 143, 151, 156, 160
valioso: 4, 107-108
taller: 107
varchar: 46-47
espacio de trabajo: 25, 27,
variable: 6, 13
32-38, 41-43, 65, 69-75,
variedad: 4, 93, 95,
77, 79, 82, 85-86, 88-89,
107, 111, 124, 137
92-94, 96-98, 148, 158
versión: 119, 146, 148, 150
virtual: 9, 11, 13-14,
89, 93, 100-101, 118,
Z
128, 135, 139, 151 comprimido: 115
visualizar: 24, 41, 57, zonificación: 116
67-69, 72, 89, 102,
124, 128, 157, 159