Vous êtes sur la page 1sur 51

Universidad Mayor de “San Simón”

Facultad de Ciencias y Tecnología

Aplicación de tecnologías Microsoft para crear

Soluciones Big Data

Elaborado por: Orlando Fernandez Rojas

Carrera: Ingeniería de Sistemas

Tutor: Ing. Marcelo Claure

Fecha: agosto de 2018

Cochabamba – Bolivia
ii

Dedico este trabajo principalmente a Dios, por haberme dado la vida y

permitirme el haber llegado hasta este momento tan importante de mi

formación profesional. A mis padres, por ser el pilar más importante y

por demostrarme siempre su cariño y apoyo incondicional sin importar

nuestras diferencias de opiniones y que a pesar de nuestra distancia y

el poco tiempo que pasamos, siento que están conmigo siempre, sé que

este momento es tan especial para ustedes, así como lo es para mí. A

mi amada esposa e hijo quienes siempre me han apoyado

incondicionalmente, sin el tiempo, la paciencia y comprensión que

siempre me han tenido nunca hubiera alcanzado la meta que me he

propuesto.
Tabla De Contenido
ÍNDICE DE TABLAS 5

ÍNDICE DE FIGURAS 6

Resumen 7

Introducción 8

1 Generalidades 9

2 Características de Big Data. 10

2.1 Componentes de una plataforma Big Data. 12

2.1.1 Hadoop 13

2.1.1.1 HDFS (Hadoop Distributed File System) 14

2.1.1.2 MapReduce 15

2.1.1.3 Ventajas de Hadoop. 17

2.1.2 HDInsight. 19

2.1.3 Polybase. 20

2.1.3.1 Grupos de escalamiento con Polybase. 23

3 Big Data en la Nube 25

3.1 Azure HDInsight 27

3.1.1 Tipos de clúster en HDInsight. 28

3.1.2 Ventajas y principales funcionalidades de usar HDInsight. 29

3.1.3 Arquitectura HDInsight. 31

3.1.4 Las 8 razones principales para elegir Azure HDInsight. 35

3
4

3.1.5 Cmdlets de Azure PowerShell para HDInsight. 37

3.1.6 Análisis de Precios para la implementación de Big Data. 42

3.1.6.1 Características del servicio 42

3.1.6.2 Componentes 43

3.1.6.3 Característica de los precios 43

3.1.6.4 Detalles de precios 44

3.1.6.5 Precio base/nodo-hora 44

Nodos optimizados para memoria para HDInsight 44

Nodos de uso general para HDInsight 45

Precios de desarrollo/pruebas disponibles 46

Soporte técnico y acuerdo de nivel de servicio 47

4 Recomendaciones y buenas prácticas 47

5 Conclusiones 49

6 Bibliografía. 51
5

ÍNDICE DE TABLAS

Tabla 1. Funcionalidades de Azure HDInsight. 29

Tabla 2. Cmdlets de suscripción. 37

Tabla 3. Cmdlets de almacenamiento. 37

Tabla 4. Cmdlets de clúster. 39

Tabla 5. Cmdlets de trabajo. 40

Tabla 6. Otros cmdlets. 42

Tabla 7. Detalle de Precios. 44

Tabla 8. Precios base/nodo-hora. 44

Tabla 9. Precio de nodos para HDInsight AV2. 45

Tabla 10. Precio de nodos A para HDInsight. 45

Tabla 11. Precio de nodos D para HDInsight. 46


6

ÍNDICE DE FIGURAS

Figura 1. Universo de datos 9

Figura 2. Flujo de Big Data en una empresa. 10

Figura 3. Las 3 Vs de Big Data. 11

Figura 4. Solución Big Data con Microsoft. 13

Figura 5. Arquitectura de Hadoop. 14

Figura 6. Arquitectura HDFS. 15

Figura 7. Flujo lógico en MapReducer. 16

Figura 8. Flujo de consulta con Polybase. 20

Figura 9. Flujo de consulta con Polybase. 21

Figura 10. Escalamiento de grupos. 23

Figura 11. HDInsight y Ecosistema Haddop. 31


7

Resumen

Big Data es un concepto que hace referencia a grandes cantidades de información heterogéneos

que se generan, a menudo, a altas velocidades, disponibles en diversos formatos y tipos de

estructuras, recopilada principalmente a través de Internet mediante la interacción de los usuarios

de computadores, teléfonos móviles y dispositivos GPS, entre otros. Asimismo, es utilizada para

describir enormes cantidades de datos (estructurados, no estructurados y semi-estructurados) que

tomaría demasiado tiempo y sería muy costoso su análisis. De tal manera que, el concepto de Big

Data aplica para toda aquella información que no puede ser procesada o analizada utilizando

procesos o herramientas tradicionales. Sin embargo, Big Data no se refiere a una cantidad en

específico, ya que es usualmente utilizado cuando se habla en términos de petabytes y exabytes de

datos. Adicionalmente, el concepto de volumen es muy variable y cada día que pasa eleva lo que

podemos considerar grandes volúmenes de datos.

El objetivo de Big Data, al igual que los sistemas analíticos convencionales, es convertir el dato

en información, ya que facilita la toma de decisiones, incluso en tiempo real.

Para este propósito Big Data requiere el uso de un nuevo conjunto de herramientas, aplicaciones

y marcos para procesar y administrar los datos

Palabras clave: Big Data, petabytes, exabytes


8

Introducción

Los datos siempre han existido y siempre ha existido la necesidad de almacenamiento,

procesamiento y administración de datos, desde el comienzo de la civilización humana. Sin

embargo, la cantidad y el tipo de datos capturados, almacenados, procesados y administrados

dependen de varios factores, herramientas / tecnologías disponibles para almacenamiento,

procesamiento, administración, esfuerzo / costo, capacidad de obtener información en los datos,

toma decisiones, etc.

Estas necesidades nos llevan a pensar en nuevas tecnologías para el procesamiento y entendimiento

de esta información, en empresas que trabajan con tecnologías Microsoft es de vital importancia

conocer todas las herramientas que Microsoft pone a nuestra disposición para poder abarcar este

ámbito.

Entre las tecnologías que Microsoft pone a nuestra disposición para trabajar con Big Data tenemos

los siguientes:

Hadoop, que es un marco de código abierto, de la base de Apache, capaz de procesar grandes

cantidades de conjuntos de datos heterogéneos de manera distribuida en clústeres de computadoras

y hardware básicos utilizando un modelo de programación simplificado compuesto por dos

componentes principales: HDFS quien es responsable del almacenamiento en archivos distribuidos

y MapReduce que es básicamente un modelo de software / marco de software, que nos permite

procesar datos en paralelo a través de múltiples computadoras en un clúster.

HDInsight, que es un servicio de Microsoft Azure que nos provee una plataforma de big data

como servicio, HDInsight usa la distribución Hadoop Hortonworks Data Platform (HDP)
9

1 Generalidades

Muchas organizaciones se enfrentan a la pregunta sobre ¿qué información es la que se debe

analizar?, sin embargo, el cuestionamiento debería estar enfocado hacia ¿qué problema es el que

se está tratando de resolver?

Si bien sabemos que existe una amplia variedad de tipos de datos a analizar, una buena

clasificación nos ayudaría a entender mejor su representación, aunque es muy probable que estas

categorías puedan extenderse con el avance tecnológico.

Figura 1. Universo de datos

Fuente: https://aci.info/2014/07/12/the-data-explosion-in-2014-minute-by-minute-infographic/
10

Cualquier empresa, independientemente de su tamaño, con los datos e información que se debe

almacenar. Y con el rápido aumento de esta información, se ha convertido en esencial que estos

datos se almacenan en una base de datos computarizada. Esto hizo que el acceso a la información

sea más ágil, práctico y con un menor número de fallos en la recuperación de datos.

Hay diferentes tipos de DBMS, desde aquellos que estan en sistemas de gran magnitud de las

grandes corporaciones hasta pequeños sistemas que se ejecutan en los ordenadores personales. Los

DBMS más usados son: PostgreSQL, MySQL, Oracle y SQL Server.

Figura 2. Flujo de Big Data en una empresa.

Fuente: http://www.ebizq.net/blogs/tech_blog/2009/09/10-ways-to-complement-the-ente.php

2 Características de Big Data.

Las principales características de Big Data son popularmente conocidas como las 3 Vs de Big

Data, estas se refieren al Volumen o cantidad de datos que van desde Gigabytes a Terabytes,
11

Petabytes y aún más, la Velocidad a la que los datos se generan, producen, crean o actualizan y

Variedad de datos que pueden ser estructurados o no y provenir de diferentes fuentes.

Figura 3. Las 3 Vs de Big Data.

Fuente: https://docplayer.net/10195941-Big-data-strategy-rama-kattunga-chair-at-american-

institute-of-big-data-professionals-building-big-data-strategy-for-your-organization.html

Adicional a estas 3 principales características, cabe mencionar las siguientes no menos

importantes: Variabilidad que se refiere a que existen múltiples dimensiones correctas

incorrectas, con diferentes incoherencias, Veracidad se refiere más a la procedencia o


12

confiabilidad de la fuente de datos, Validez se refiere a qué tan precisos y correctos son los datos

para su uso previsto, Vulnerabilidad que se refiere a temas de seguridad de la información,

Volatilidad se refiere al tiempo por el cual debe almacenarse la información, Visualización que

se refiere a las formas de mostrar la información escapando a las limitaciones en cuanto a

escalabilidad funcionalidad y tiempos de respuesta y por último Valor este último puede

considerarse uno de los más importantes, ya que se refiere al valor de la información generada

para el mejor rendimiento del negocio y ayudar a la toma de decisiones.

2.1 Componentes de una plataforma Big Data.

Las organizaciones han atacado esta problemática desde diferentes ángulos. Todas esas montañas

de información han generado un costo potencial al no descubrir el gran valor asociado. Desde

luego, el ángulo correcto que actualmente tiene el liderazgo en términos de popularidad para

analizar enormes cantidades de información es la plataforma de código abierto Hadoop.

Hadoop está inspirado en el proyecto de Google File System(GFS) y en el paradigma de

programación MapReduce, el cual consiste en dividir en dos tareas (mapper – reducer) para

manipular los datos distribuidos a nodos de un clúster logrando un alto paralelismo en el

procesamiento.

Para nuestro caso de estudio nos enfocaremos en la implementación de Big Data en la plataforma

Microsoft empleando y explotando al máximo las herramientas que ofrece Microsoft,


13

Figura 4. Solución Big Data con Microsoft.

Fuente: https://es.slideshare.net/redondoj/big-data-almacenes-de-datos-empresariales-edw-y-

windows-azure-sql-database-como-plataforma-bi

2.1.1 Hadoop

Es un marco de código abierto, de la base de Apache, capaz de procesar grandes cantidades de

conjuntos de datos heterogéneos de manera distribuida en clústeres de computadoras y hardware

básicos utilizando un modelo de programación simplificado. Hadoop proporciona un sistema

confiable de almacenamiento y análisis compartido.

A continuación, se muestra una arquitectura de alto nivel del clúster Hadoop de múltiples nodos:
14

Figura 5. Arquitectura de Hadoop.

Fuente: https://portlandbathrepair.com/hadoop-cluster-architecture/

Aquí hay algunos aspectos destacados de la arquitectura de Hadoop:

 Hadoop funciona de manera maestro-esclavo.

 Hadoop tiene dos componentes principales: HDFS y MapReduce.

2.1.1.1 HDFS (Hadoop Distributed File System)

Ofrece un almacenamiento altamente confiable y distribuido, y asegura la confiabilidad, incluso

en un hardware básico, al replicar los datos en múltiples nodos. A diferencia de un sistema de

archivos normal, cuando los datos se envían a HDFS, se dividirán automáticamente en varios
15

bloques (parámetro configurable) y almacenarán y/o replicarán los datos en varios nodos de

datos. Esto garantiza una alta disponibilidad y tolerancia a fallas.

A continuación, la arquitectura de HDFS

Figura 6. Arquitectura HDFS.

Fuente: http://spaceanalytics.blogspot.com/2016/08/hdfs-sistema-almacen.html

2.1.1.2 MapReduce

Ofrece un sistema de análisis que puede realizar cálculos complejos en grandes conjuntos de

datos. Este componente es responsable de realizar todos los cálculos y funciona al dividir un gran

cómputo complejo en múltiples tareas y asignarlas a nodos trabajador o esclavo y se encarga de la

coordinación y la consolidación de los resultados.


16

Figura 7. Flujo lógico en MapReducer.

Fuente: https://www.mssqltips.com/sql-server-tip-category/208/big-data/

Input: este es el archivo / datos de entrada que se procesará.

Split: Hadoop divide los datos entrantes en piezas más pequeñas llamadas "divisiones".

Map: en este paso, MapReduce procesa cada división según la lógica definida en la función

map(). Cada asignador trabaja en cada división a la vez. Cada asignador se trata como una tarea y

múltiples tareas se ejecutan en diferentes TaskTrackers y coordinadas por el JobTracker.

Combine: este es un paso opcional y se usa para mejorar el rendimiento al reducir la cantidad de

datos transferidos a través de la red. El combinador es igual que el paso de reducción y se usa para

agregar la salida de la función de map() antes de pasar a los pasos subsiguientes.

Shuffle & Sort: en este paso, las salidas de todos los mappers se mezclan, se ordenan y se agrupan

antes de enviarlas al siguiente paso.

Reduce: este paso se usa para agregar las salidas de los mappers usando la función reduce(). La

salida del reductor se envía al siguiente y último paso. Cada reductor se trata como una tarea y se

ejecutan múltiples tareas en diferentes TaskTrackers y coordinado por JobTracker.

Output: Finalmente, la salida del paso de reducción se escribe en un archivo en HDFS.

El nodo maestro contiene los componentes Namenode y Job Tracker.


17

Namenode contiene la información sobre todos los demás nodos en el clúster Hadoop, los archivos

presentes en el clúster, los bloques constituyentes de los archivos y sus ubicaciones en el clúster,

y otra información útil para el funcionamiento del clúster Hadoop.

Job Tracker realiza un seguimiento de las tareas individuales asignadas a cada uno de los nodos

y coordina el intercambio de información y resultados.

Cada nodo Esclavo contiene el Rastreador de Tareas (Task Tracker) quien es responsable de

ejecutar las tareas asignadas y un componente de Nodos de Datos (Datanode) quien es responsable

de mantener los datos.

Las computadoras presentes en el clúster pueden estar presentes en cualquier ubicación y no hay

dependencia en la ubicación del servidor físico.

2.1.1.3 Ventajas de Hadoop.

 Hadoop proporciona un almacenamiento compartido confiable (HDFS) y un sistema de

análisis (MapReduce).

 Hadoop es altamente escalable y, a diferencia de las bases de datos relacionales, Hadoop

escala linealmente. Debido a la escala lineal, un clúster Hadoop puede contener decenas,

cientos o incluso miles de servidores.

 Hadoop es muy rentable, ya que puede funcionar con hardware básico y no requiere

hardware costoso de alta gama.

 Hadoop es altamente flexible y puede procesar datos estructurados y no estructurados.

 Hadoop tiene tolerancia a fallas incorporada. Los datos se replican en múltiples nodos (el

factor de replicación es configurable) y si un nodo se cae, los datos requeridos se pueden

leer desde otro nodo que tenga la copia de esos datos. Y también asegura que se mantenga
18

el factor de replicación, incluso si un nodo falla, al replicar los datos en otros nodos

disponibles.

 Hadoop funciona según el principio de escribir una vez y leer varias veces.

 Hadoop está optimizado para conjuntos de datos grandes y muy grandes. Por ejemplo, una

pequeña cantidad de datos, como 10 MB cuando se alimenta a Hadoop, generalmente lleva

más tiempo procesar que los sistemas tradicionales.

Hadoop dependiendo de la plataforma sobre la que se está trabajando y según las necesidades del

proyecto que se está trabajando tiene varias distribuciones, estas distribuciones estan disponibles

en el mercado y están construidas sobre el marco Hadoop de código abierto. El componente central

en estas distribuciones es el mismo marco Hadoop de código abierto construido por la base Apache

y todavía se distribuye como código abierto.

Hadoop contiene varios componentes que tienen sus propios ciclos de lanzamiento y es un

ecosistema bastante complejo con tantos proyectos. Estas distribuciones administran y/o integran

las versiones o dependencias requeridas de estos proyectos para que las empresas puedan enfocarse

en el problema real en cuestión. Estas distribuciones aseguran que contengan una versión estable

del proyecto Hadoop con todos los parches necesarios junto con sus propios componentes

propietarios.

Estas diferentes distribuciones incluyen varios componentes construidos sobre el núcleo del motor

Hadoop que hacen que la implementación, la administración y el mantenimiento de Hadoop sean

más simples, más rápidos y más eficientes. En la mayoría de los casos, hay componentes

adicionales que están siendo construidos por los proveedores y/o distribuidores que son

propietarios de las respectivas distribuciones y se proporcionan a un costo.


19

Cada distribución tiene sus propios pros y contras. Por lo que existen varios aspectos que se deben

considerar, como costo, simplicidad, rendimiento, soporte, documentación, versiones en la nube

y/o locales, etc. Para la selección de una de las distribuciones disponibles.

Entre los más destacados estan las siguientes distribuciones: HDInsight, Cloudera, Hortonworks,

Amazon Elastic Map Reduce y MapR.

2.1.2 HDInsight.

HDInsight es un servicio de Microsoft Azure que nos provee una plataforma de big data como

servicio. Esto es, Microsoft se hace cargo de mantener los servidores y de actualizar la plataforma,

y nosotros creamos el software que corre sobre ella, y pagamos por el uso que hacemos del

servicio.

HDInsight usa la distribución Hadoop Hortonworks Data Platform (HDP). Normalmente, cuando

hablamos de Hadoop, solemos referirnos al ecosistema de componentes Hadoop completo, que

incluye clusters Storm o HBase, así como de otras tecnologías que están debajo del paraguas de

Hadoop.

El servicio de HDInsight nos provee de clusters configurados para cargas de trabajo específicas, o

podemos personalizarlos mediante scripts en su creación.

Hadoop: provee un almacenamiento confiable sobre HDFS (Hadoop Distributed File System, un

sistema de archivos distribuidos que es parte el core de Hadoop) y un modelo de programación de

MapReduce para procesar y analizar datos en paralelo.

Hbase: una base de datos NoSQL construida sobre Hadoop que provee acceso aleatorio y alta

consistencia para grandes cantidades de datos no estructurados y semi estructurados,

potencialmente miles de millones de filas por millones de columnas.


20

Apache Storm: un sistema de computación distribuida en tiempo real para procesar un gran

stream de datos rápidamente.

2.1.3 Polybase.

PolyBase es una tecnología que permite el acceso a archivos en la nube pública o privada para ser

tratada como si fueran tablas en servidor SQL Server 2016 a través del lenguaje T-SQL.

Ya era parte de Parallel Data Warehouse/ Analytics Platform Services, sin embargo, esta

funcionalidad está disponible en Azure SQL Data Warehouse (Cortana Analytics).

La integración de Polybase dentro de una estructura de Big Data y su interacción con las demás

herramientas de Microsoft se vería como sigue:

Figura 8. Flujo de consulta con Polybase.

Fuente: https://es.slideshare.net/redondoj/big-data-almacenes-de-datos-empresariales-edw-y-

windows-azure-sql-database-como-plataforma-bi
21

SQL Server 2016, permite ejecutar consultas en datos externos en Hadoop o importar y/o exportar

datos desde Azure Blob Storage. Las consultas se optimizan para impulsar el cálculo a Hadoop. En

Azure SQL Data Warehouse, puede importar y/o exportar datos desde Azure Blob Storage y Azure

Data Lake Store.

Figura 9. Flujo de consulta con Polybase.

Fuente: https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-

guide?view=sql-server-2017

Para tomar buenas decisiones, desea analizar los datos relacionales y otros datos que no están

estructurados en tablas, notablemente Hadoop. Esto es difícil de hacer a menos que tenga una

forma de transferir datos entre los diferentes tipos de almacenes de datos. PolyBase cierra esta

brecha operando en datos que son externos a SQL Server.

Para simplificar, PolyBase no requiere que instale software adicional en su entorno

Hadoop. Consultar datos externos utiliza la misma sintaxis que consultar una tabla de base de

datos. Todo esto sucede de manera transparente. PolyBase maneja todos los detalles detrás de

escena, y el usuario final no necesita conocimiento sobre Hadoop para consultar tablas externas.

Con PolyBase se puede realizar las siguientes acciones:


22

 Datos de consulta almacenados en Hadoop desde SQL Server o PDW. Los usuarios

están almacenando datos en sistemas escalables y distribuidos rentables, como

Hadoop. PolyBase facilita la consulta de los datos mediante el uso de T-SQL.

 Datos de consulta almacenados en Azure Blob Storage. El almacenamiento de blobs de

Azure es un lugar conveniente para almacenar datos para que puedan ser consumidos por

los servicios de Azure. PolyBase facilita el acceso a los datos mediante el uso de T-SQL.

 Importe datos de Hadoop, Azure Blob Storage o Azure Data Lake Store Esto permite

aprovechar la velocidad de la tecnología de análisis de almacén de columnas de Microsoft

SQL y la importación de datos de Hadoop, Azure Blob Storage o Azure Data Lake Store

en tablas relacionales. No hay necesidad de una herramienta de importación por separado.

 Exporte datos a Hadoop, Azure Blob Storage o Azure Data Lake Store. Esto permite

archivar datos en Hadoop, Azure Blob Storage o Azure Data Lake Store para lograr un

almacenamiento rentable y mantenerlo en línea para un fácil acceso.

 Integrar con herramientas de BI. Utilice PolyBase con la inteligencia empresarial de

Microsoft y la pila de análisis, o use herramientas de terceros que sean compatibles con

SQL Server.

Polybase, en el proceso de consulta de la información, actúa de la siguiente manera:

 Empuje el cálculo a Hadoop. El optimizador de consultas toma una decisión basada en

los costos para impulsar el cálculo a Hadoop al hacerlo mejorará el rendimiento de las

consultas. Utiliza estadísticas en tablas externas para tomar decisiones basadas en los

costos. El cálculo de empuje crea trabajos de MapReduce y aprovecha los recursos

computacionales distribuidos de Hadoop.


23

 Escala los recursos computacionales. Para mejorar el rendimiento de las consultas, puede

usar los grupos de escalado de SQL Server PolyBase . Esto permite la transferencia de

datos en paralelo entre las instancias de SQL Server y los nodos de Hadoop, y agrega

recursos de cómputo para operar en los datos externos.

2.1.3.1 Grupos de escalamiento con Polybase.

Una instancia independiente de SQL Server con PolyBase puede convertirse en un cuello de

botella para el rendimiento cuando se trata de conjuntos de datos masivos en Hadoop o Azure Blob

Storage. La función PolyBase Group le permite crear un clúster de instancias de SQL Server para

procesar grandes conjuntos de datos de orígenes de datos externos, como Hadoop o Azure Blob

Storage, en una escala horizontal para un mejor rendimiento de las consultas.

Figura 10. Escalamiento de grupos.

Fuente: https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-scale-out-

groups?view=sql-server-2017
24

Head Node, El nodo principal contiene la instancia de SQL Server a la que se envían las consultas

PolyBase. Cada grupo PolyBase puede tener solo un nodo principal. Un nodo principal es un grupo

lógico de SQL Database Engine, PolyBase Engine y PolyBase Data Movement Service en la

instancia de SQL Server.

Compute Node. Un nodo de cálculo contiene la instancia de SQL Server que ayuda con el

procesamiento de consultas de escalado en datos externos. Un nodo de cálculo es un grupo lógico

de SQL Server y el servicio de movimiento de datos PolyBase en la instancia de SQL Server. Un

grupo PolyBase puede tener múltiples nodos de cálculo. El nodo principal y los nodos de cálculo

deben ejecutar la misma versión de SQL Server.

Procesamiento de consultas distribuidas, Las consultas de PolyBase se envían al SQL Server en

el nodo principal. La parte de la consulta que hace referencia a tablas externas se transfiere al

motor PolyBase.

El motor PolyBase es el componente clave detrás de las consultas PolyBase. Analiza la consulta

sobre datos externos, genera el plan de consulta y distribuye el trabajo al servicio de movimiento

de datos en los nodos de cómputo para su ejecución. Después de completar el trabajo, recibe los

resultados de los nodos de cómputo y los envía a SQL Server para su procesamiento y retorna el

resultado al cliente.

El servicio de movimiento de datos PolyBase recibe instrucciones del motor PolyBase y transfiere

datos entre HDFS y SQL Server, y entre las instancias de SQL Server en el cabezal y los nodos de

cálculo.

Disponibilidad de ediciones, Después de la configuración de SQL Server, la instancia puede

designarse como un nodo principal o un nodo de cálculo. La elección depende de la versión de


25

SQL Server PolyBase que se esté ejecutando. En una instalación de Enterprise Edition, la instancia

se puede designar como nodo principal o como nodo de cálculo. En una edición estándar, la

instancia solo se puede designar como un nodo de cálculo.

3 Big Data en la Nube

El Big Data y la nube o los servicios Cloud necesariamente iran de la mano en el mundo de los

datos. Muchos de los datos de los que disponemos son generados y creados en la web dentro de

un modelo de computación en la nube.

La gran cantidad de datos generados por satélites, gobiernos, cámaras de vídeo vigilancia,

smartphones, dispositivos del internet de las cosas (IoT) junto con datos generados en las redes

sociales hacen necesarios los sistemas de Cloud.

Los datos estan tan desorbitados que en 2020 el universo digital puede llegar a 40 ZB o que cada

día se generan más de 2.5 trillones de bytes de datos, nos hace pensar que es imposible no mirar a

la nube como medio de almacenamiento y análisis de tal cantidad de datos.

La necesidad de las empresas de sacar valor a los datos ha incrementado la necesidad de

tecnologías Cloud. El servicio se da o no, dependiendo de la demanda de uso de un determinado

recurso. Estos recursos de computación en la nube pueden ser gestionados con mayor eficiencia,

dependiendo de cuando se realice el análisis Big Data.

Este tipo de uso efectivo de los sistemas Cloud para Big Data permiten a las empresas ofrecer sus

servicios en la nube en tres modalidades dependiendo de las necesidades de uso: infraestructura

(IaaS), preconfigurado (PaaS) y software (SaaS).

El uso de tecnologías Cloud sobre todo para el trabajo con grandes cantidades de información son

muchas entre las principales tenemos:


26

 Menos coste. Evitamos las inversiones de infraestructura tanto en hardware como

en licencias de software, ya que, como se vio antes, no siempre se utilizan los recursos al

100%, sino que depende de la fase Big Data en la que nos encontremos.

 Rapidez. El acceso a la información, ficheros, base de datos etc, es mucho más rápido,

además de ser más accesible.

 Comodidad. Dependiendo del servicio Cloud, no debes de preocuparte de versiones,

actualizaciones o problemas de seguridad.

 Mayor personalización. Cada configuración está adaptada a las necesidades de cada

cliente, pudiendo aumentar espacios o recursos dependiendo de las necesidades de

demanda.

 Accesibilidad. Puedes acceder a la información desde varios dispositivos desde cualquier

lugar con acceso a internet.

 Reducción de la inversión en equipamiento informático del usuario. Debido a la

concentración de datos y aplicaciones en la nube, disminuyen los requerimientos técnicos

del dispositivo del usuario tanto a nivel de microprocesadores como de la capacidad de

almacenamiento.

 Sistema de almacenamiento escalable. El espacio de almacenamiento contratado en la

nube es fácilmente modificable según el aumento o disminución de las necesidades del

cliente, sin tener que realizar mayores inversiones para la previsión de posibles soluciones

futuras.

 Seguridad. Se contemplan protocolos de seguridad y servicios de copias de seguridad las

veces que se requieran.


27

3.1 Azure HDInsight

Hay dos tipos de HDInsight: Windows Azure HDInsight Service y Microsoft HDInsight Server

para Windows Server. Ambos se desarrollaron en asociación con el desarrollador y distribuidor de

software Hadoop Hortonworks y se hicieron disponibles en general en octubre de 2013 .

Windows Azure HDInsight Service es una distribución en la nube de los componentes de

Hadoop de Hortonworks Data Platform (HDP). Azure HDInsight hace que sea fácil, rápido y

rentable procesar grandes cantidades de datos. Puede usar las plataformas de código abierto más

conocidas como Hadoop, Spark, Hive, LLAP, Kafka, Storm, R, etc. Con estas plataformas puede

habilitar una amplia gama de escenarios, como la extracción, transformación y carga (ETL), el

almacenamiento de datos, el aprendizaje automático e IoT.

A continuación, algunos aspectos destacados de Azure HDInsight:

 Azure HDInsight se basa en Hortonworks Data Platform.

 Azure HDInsight habilita Apache Hadoop como un servicio en la nube de Microsoft Azure

aprovechando así todos los beneficios de la computación en la nube.

 Azure HDInsight ofrece una sólida compatibilidad con PowerShell a través de los cmdlets.

 Los cmdlets de Windows Azure y HDInsight PowerShell se pueden usar para realizar

diversas actividades, incluida la carga, descarga y movimiento de datos hacia y desde

Azure Blob Storage y sistemas de archivos locales, la configuración / ejecución / post-

procesamiento de trabajos en HDInsight y otras actividades relacionadas.

 Azure HDInsight es un servicio de Hadoop en la nube, se puede aprovisionar un clúster,

procesar los datos, destruir el clúster y pagar solo por los recursos utilizados.
28

 Microsoft también ofrece un emulador HDInsight que permite a los desarrolladores

explorar HDInsight en sus instalaciones sin requerir una cuenta de Azure.

3.1.1 Tipos de clúster en HDInsight.

HDInsight incluye tipos de clúster específicos y capacidades de personalización del clúster, como

la capacidad de agregar componentes, utilidades e idiomas. HDInsight ofrece los siguientes tipos

de clúster:

 Apache Hadoop: un marco que utiliza HDFS, administración de recursos YARN y un

modelo de programación MapReduce simple para procesar y analizar datos por lotes en

paralelo.

 Apache Spark: un marco de procesamiento paralelo de código abierto que admite el

procesamiento en memoria para aumentar el rendimiento de las aplicaciones de análisis de

Big Data.

 Apache HBase: una base de datos NoSQL construida en Hadoop que proporciona acceso

aleatorio y una gran consistencia para grandes cantidades de datos no estructurados y

semiestructurados, potencialmente miles de millones de filas por millones de columnas.

 ML Services: un servidor para alojar y gestionar procesos R distribuidos en

paralelo. Proporciona a los científicos de datos, estadísticos y programadores R acceso bajo

demanda a métodos de análisis escalables y distribuidos en HDInsight.

 Apache Storm: un sistema de computación distribuido en tiempo real para procesar

grandes flujos de datos rápidamente. Storm se ofrece como un clúster administrado en

HDInsight.
29

 Vista previa de Apache Interactive Query (AKA: Live Long y Process) :

almacenamiento en memoria caché en memoria para consultas de Hive interactivas y más

rápidas.

 Apache Kafka: una plataforma de código abierto que se utiliza para crear canalizaciones

y aplicaciones de transmisión de datos. Kafka también proporciona funcionalidad de cola

de mensajes que le permite publicar y suscribirse a flujos de datos.

3.1.2 Ventajas y principales funcionalidades de usar HDInsight.

En esta sección se enumeran las principales funcionalidades de Azure HDInsight.

Tabla 1. Funcionalidades de Azure HDInsight.

Fuente: https://msdn.microsoft.com/en-us/library/dn479228.aspx

Capacidad Descripción

Nativo en la Azure HDInsight le permite crear clústeres optimizados

nube para Hadoop, Spark, Interactive Query (LLAP), Kafka, Storm, HBase y  ML

Services en Azure. HDInsight también proporciona un Acuerdo de Nivel de

Servicio de un extremo a otro en las cargas de trabajo de producción.

Rentable y HDInsight le permite escalar o reducir verticalmente cargas de trabajo. Puede

escalable reducir el costo mediante la  creación de clústeres a petición y pagar solo por

lo que se utiliza. También puede compilar canalizaciones de datos para poner

en marcha los trabajos. El procesamiento y el almacenamiento desacoplados

ofrecen un mejor rendimiento y flexibilidad.


30

Seguro y HDInsight le permite proteger los recursos de datos de la empresa

conforme mediante Azure Virtual Network, el cifrado y la integración con Azure Active

Directory. HDInsight también cumple con los estándares de cumplimiento

normativo más conocidos del sector y de la administración.

Supervisión Azure HDInsight se integra con Azure Log Analytics para proporcionar una

única interfaz con la que puede supervisar todos los clústeres.

Disponibilidad HDInsight está disponible en más regiones que ninguna otra oferta de análisis

global de macrodatos. También está disponible en Azure Government, China y

Alemania, lo que le permite satisfacer las necesidades de su empresa en áreas

soberanas clave.

Productividad Azure HDInsight le permite usar herramientas de productividad muy

completas de Hadoop y Spark con los entornos de desarrollo que

prefiera. Estos entornos de desarrollo incluyen Visual

Studio, VSCode, Eclipse e IntelliJ para la compatibilidad con Scala, Python,

R, Java y .NET. Los científicos de datos también pueden colaborar mediante

cuadernos conocidos como los de Jupyter y Zeppelin.

Extensibilidad Puede ampliar los clústeres de HDInsight con componentes instalados

mediante acciones de script, la incorporación de nodos perimetrales o

la integración con otras aplicaciones certificadas de macrodatos. HDInsight le

permite una integración sin problemas con las soluciones de macrodatos más

conocidas con una implementación con un solo clic.


31

3.1.3 Arquitectura HDInsight.

HDInsight es la solución Hadoop en Azure y ofrece implementaciones de Storm, HBase, Pig,

Hive, Sqoop, Oozie, Ambari, y así sucesivamente.

HDInsight también se integra con herramientas de inteligencia de negocios (BI) como Excel, SQL

Server Analysis Services y SQL Server Reporting Services.

Azure HDInsight despliega y aprovisiona cluster Apache Hadoop en la nube, proporcionando

un marco de software diseñado para gestionar, analizar e informar sobre Big Data. El

núcleo Hadoop proporciona almacenamiento de datos fiables con el Sistema

de Hadoop Distributed File (HDFS), y un sencillo modelo de programación MapReduce para

procesar y analizar, de forma paralela, los datos almacenados en este sistema distribuido.

Gráficamente la estructura de Hadoop con Windows azure y sus componentes se vería como sigue:

Figura 11. HDInsight y Ecosistema Hadoop.

Fuente: https://davidrengifo.wordpress.com/2015/02/18/conociendo-el-ecosistema-hdinsight/
32

Algunas de las principales herramientas de esta arquitectura se describen a continuación:

 Ambari: que facilita la gestión y el control de los recursos de un clúster de Apache Hadoop

y permite a los administradores del sistema provisionar, administrar y monitorear

un clúster Hadoop , y también integrar Hadoop con la infraestructura empresarial existente.

 Avro (Microsoft .NET Library for Avro): que proporciona servicios de serialización de

datos e intercambio de datos para Apache ™ Hadoop® . Estos servicios se pueden usar

juntos o de forma independiente. Avro facilita el intercambio de datos grandes entre

programas escritos en cualquier idioma. Con el servicio de serialización, los programas

pueden serializar eficientemente datos en archivos o en mensajes. El almacenamiento de

datos es compacto y eficiente. Avro almacena la definición de datos y los datos en un solo

mensaje o archivoHBase: Non-relational database para tablas muy grandes.

 HDFS: que se usa para escalar un único clúster a cientos (e incluso miles) de nodos. Es un

sistema de archivos distribuidos que maneja grandes conjuntos de datos que se ejecutan en

hardware básico.

 Hive: que es una infraestructura que se basa en la data warehousing para Hadoop. Este

sistema tiene un objetivo bien definido, el de ofrecer un exhaustivo resumen de análisis,

datos y consultas. Con esta infraestructura, tenemos la oportunidad de estudiar grandes

volúmenes de datos almacenados, siendo totalmente compatible con HDFS de Hadoop.

 Mahout: que es un marco de álgebra lineal distribuido y Scala DSL matemáticamente

expresivo, diseñado para permitir que matemáticos, estadísticos y científicos de datos

implementen rápidamente sus propios algoritmos. Apache Spark es el back-end distribuido

listo para usar, o puede extenderse a otros backends distribuidos.


33

 MapReduce: que es el corazón de Apache Hadoop. Es este paradigma de programación que

permite una escalabilidad masiva en cientos o miles de servidores en un clúster de

Hadoop. El concepto de MapReduce es bastante simple de entender para aquellos que están

familiarizados con las soluciones de procesamiento de datos escalables en clúster.

 YARN: que es un rápido, confiable y seguro administrador de contenidos y dependencias.

 Oozie: que es un sistema de planificador de flujo de trabajo para administrar trabajos de

Apache Hadoop, está integrado con Hadoop compatible con varios tipos de trabajos de

Hadoop listos para usar (como Java map-reduce, Streaming map-reduce, Pig, Hive, Sqoop

y Distcp) así como trabajos específicos del sistema (como Programas Java y scripts de

shell).

 Pig: que nos permite escribir transformaciones complejas de MapReduce usando

un lenguaje de scripting simple. Pig define un conjunto de transformaciones sobre un

conjunto de datos como agregar, unir y ordenar. Pig, además, traduce el script generado en

Pig hacia MapReduce para que pueda ejecutarse dentro de Hadoop. Pig, puede ser

extendido mediante funciones definidas por el usuario que se puede escribir en Java o en

un lenguaje de scripting y luego llamar directamente desde Pig.

 Sqoop: que es una aplicación con interfaz de línea de comando para transferir datos

entre bases de datos relacionales y Hadoop. Soporta cargas incrementales de una sola tabla

o de una consulta SQL en formato libre, así como trabajos almacenados que pueden ser

ejecutados múltiples veces para importar las actualizaciones realizadas en una base de datos

desde la última importación. Las importaciones también pueden poblar tablas

en Hive o HBase.2 Las exportaciones pueden utilizarse para transferir datos desde Hadoop
34

hacia una base de datos relacional. El nombre Sqoop viene de fusionar las palabras SQL y

hadoop.

 Storm: que es un sistema de computación en tiempo real distribuido de fuente abierta y

gratuita. Storm facilita el procesamiento confiable de flujos ilimitados de datos, haciendo

para el procesamiento en tiempo real lo que Hadoop hizo para el procesamiento por

lotes. Storm es simple, se puede usar con cualquier lenguaje de programación.

Storm tiene muchos casos de uso: análisis en tiempo real, aprendizaje automático en línea,

computación continua, RPC distribuido, ETL y más. Storm es rápido: un punto de

referencia registró más de un millón de tuplas procesadas por segundo por nodo. Es

escalable, tolerante a fallas, garantiza que sus datos serán procesados, y es fácil de

configurar y operar

 Zookeeper: que es un servicio centralizado para mantener la información de

configuración, nombrar, proporcionar sincronización distribuida y proporcionar servicios

grupales esto significa que puede sincronizar las tareas de los nodos y hacer estos tolerante

a fallos. Todos estos tipos de servicios son utilizados de una forma u otra por aplicaciones

distribuidas. Debido a la dificultad de implementar este tipo de servicios, las aplicaciones

inicialmente suelen escatimar en ellos, lo que los hace frágiles en presencia de cambios y

difíciles de gestionar. Incluso cuando se realiza correctamente, las diferentes

implementaciones de estos servicios conducen a la complejidad de la administración

cuando se implementan las aplicaciones


35

3.1.4 Las 8 razones principales para elegir Azure HDInsight.

Los nombres de los empresas grandes como Adobe, Jet, ASOS, Schneider Electric y Milliman

se encuentran entre cientos de empresas que están potenciando sus Big Data Analytics utilizando

Azure HDInsight. Azure HDInsight se lanzó hace casi seis años y desde entonces se ha convertido

en la mejor distribución de este tipo de herramientas para ejecutar los análisis de Apache Hadoop

y Spark en Azure.

Estas son las ocho razones principales por las cuales las empresas eligen Azure HDInsight para

sus aplicaciones de big data:

1. Servicio de clúster completamente gestionada para Apache Hadoop y Spark workloads:

puede levantar Hive, Spark, LLAP, Kafka, HBase, Storm y R Server cluster en cuestión de

minutos, desplegar y ejecutar sus aplicaciones y permitir que HDInsight haga el resto. Controla el

clúster y todos los servicios, detecta y repara problemas comunes y responde a problemas las 24

horas del día, los 7 días de la semana.

2. Alta disponibilidad garantizada (99,9% SLA) a gran escala: ejecute sus cargas de trabajo

más críticas y urgentes en miles de núcleos y TB de memoria bajo la garantía de un SLA de

disponibilidad líder en la industria del 99,9% para toda la pila de software. Sus aplicaciones de big

data pueden ejecutarse de manera más confiable ya que su servicio HDInsight supervisa el estado

y se recupera automáticamente de las fallas.

3. Cumplimiento y seguridad extremo a extremo del sector: proteja sus datos empresariales

más sensibles utilizando las tecnologías de seguridad de espectro completo a su disposición. Aísle

su clúster HDInsight dentro de VNET y aproveche el cifrado de datos transparente. Desarrolle

políticas de acceso basadas en roles que utilicen Apache Ranger y restrinja el acceso a sus datos y
36

aplicaciones más importantes. Consiga tranquilidad sabiendo que sus datos empresariales están

siendo manejados y protegidos por un servicio que ha recibido más de 30 certificaciones estándar

de la industria, incluidas ISO, SOC, HIPAA, PCI , y más.

4. Valiosas aplicaciones disponibles en Azure mercado: Selección de más de 30 Hadoop

popular y Spark aplicaciones . En unos minutos, Azure HDInsight implementa las aplicaciones en

el clúster.

5. Plataforma productiva para análisis: los ingenieros de datos, los científicos de datos y los

analistas BI pueden construir sus aplicaciones Hadoop / Spark utilizando sus herramientas de

desarrollo favoritas ( Visual Studio y Eclipse o IntelliJ ), los lenguajes de Notebook (Jupyter o

Zeppelin) (Scala, Python, R o C #) y frameworks (Java o .NET).

6. Servidores R a escala empresarial para el aprendizaje automático: sus científicos de datos

pueden entrenar modelos más precisos para mejores predicciones en un tiempo más corto al usar

Microsoft R Server para HDInsight. Las bibliotecas matemáticas con múltiples subprocesos y la

paralelización transparente en el Servidor R proporcionan la capacidad de manejar hasta miles de

datos más y una velocidad hasta 50 veces más rápida que la fuente abierta R.

7. Disponibilidad global: implementado en más de 26 regiones públicas y múltiples nubes

gubernamentales en todo el mundo, siempre encontrará HDInsight en un centro de datos cerca de

usted.

8. Alto valor por un precio bajo: sabemos que el costo es una consideración muy importante

cuando se ejecuta análisis de big data. Por lo tanto, todo el valor anterior de Azure HDInsight ahora

está disponible a la mitad del precio.


37

3.1.5 Cmdlets de Azure PowerShell para HDInsight.

Los cmdlets de PowerShell para HDInsight se pueden clasificar en general en las siguientes

categorías: Cmdlets de suscripción, Cmdlets de almacenamiento, Cmdlets de clúster, Cmdlets de

trabajo y Otros cmdlets

Al realizar muchas operaciones comunes, necesitamos usar una combinación de uno o más cmdlets

independientemente de las categorías. Las categorías en esta sección están destinadas a ayudar a

comprender las opciones disponibles con PowerShell.

Echemos un vistazo a varios cmdlets en cada una de las categorías enumeradas a continuación.

Tabla 2. Cmdlets de suscripción.


Fuente: https://msdn.microsoft.com/en-us/library/dn479228.aspx
Cmdlet Descripción

Get-AzureSubscription Recupera la información sobre una suscripción de Azure.

Set-AzureSubscription Configura las configuraciones comunes para la suscripción de

Azure.

Select-AzureSubscription Selecciona una Suscripción Azure para usar.

Tabla 3. Cmdlets de almacenamiento.


Fuente: https://msdn.microsoft.com/en-us/library/dn479228.aspx
Cmdlet Descripción

New-AzureStorageAccount Crea una nueva cuenta de almacenamiento con los

parámetros de entrada especificados.

Get-AzureStorageAccount Recupera la lista de cuentas de almacenamiento y detalles

relacionados asociados con la suscripción de Azure.


38

Set-AzureStorageAccount Establece las propiedades de una Cuenta de

almacenamiento en una Suscripción Azure.

Remove-AzureStorageAccount Elimina una cuenta de almacenamiento de una suscripción

de Azure.

New-AzureStorageKey Regenera la clave de almacenamiento primaria o secundaria

para una cuenta de almacenamiento de Azure en función de

los valores de parámetros de entrada especificados.

Get-AzureStorageKey Recupera la clave de cuenta de almacenamiento de Azure.

Add-AzureHDInsightStorage Agrega una cuenta de almacenamiento de blobs de Azure a

una configuración de clúster de HDInsight.

Set- Establece la cuenta de almacenamiento predeterminada en

AzureHDInsightDefaultStorage una configuración de clúster HDInsight.

New-AzureStorageContainer Crea un nuevo contenedor de almacenamiento de Azure

basado en los valores de parámetros de entrada

especificados.

Get-AzureStorageContainer Recupera la lista de contenedores de almacenamiento en la

cuenta de almacenamiento de Azure especificada.

Remove- Elimina el contenedor especificado de Azure Blob Storage.

AzureStorageContainer

Get-AzureStorageBlob Recupera la lista de blobs en un contenedor de

almacenamiento de Azure.
39

Set-AzureStorageBlobContent Carga un archivo local en Azure Blob Storage.

Remove-AzureStorageBlob Elimina el blob especificado de Azure Blob Storage.

Start-AzureStorageBlobCopy Comienza a copiar los blobs de una ubicación a otra según

los valores de parámetros de entrada especificados.

Stop-AzureStorageBlobCopy Detiene una operación de copia en curso en el

almacenamiento de blobs.

Add- Agrega una base de datos SQL a una configuración de

AzureHDInsightMetastore clúster HDInsight.

Tabla 4. Cmdlets de clúster.


Fuente: https://msdn.microsoft.com/en-us/library/dn479228.aspx
Cmdlet Descripción

New-AzureHDInsightCluster Crea un nuevo clúster HDInsight en la Suscripción

Azure actual / especificada.

New-AzureHDInsightClusterConfig Crea una configuración con varios parámetros, como

Recuento de nodos de datos, Tamaño del nodo

principal, etc. que se utilizarán para crear el clúster con

el cmdlet New-AzureHDInsightCluster.

Add-AzureHDInsightConfigValues Agrega un valor de configuración / personalización a

la configuración del clúster de Azure HDInsight.


40

Get-AzureHDInsightCluster Recupera la lista de todos los clústeres asociados con

la Suscripción Azure actual / especificada o los

detalles del clúster HDInsight especificado.

Get-AzureHDInsightProperties Recupera las propiedades específicas de un servicio

Azure HDInsight como el número de clústeres,

núcleos disponibles, núcleos usados, etc.

Usar-AzureHDInsightCluster Selecciona el clúster HDInsight especificado para usar

en la posterior presentación de trabajos.

Remove-AzureHDInsightCluster Elimina el clúster HDInsight especificado de la

Suscripción Azure.

Tabla 5. Cmdlets de trabajo.


Fuente: https://msdn.microsoft.com/en-us/library/dn479228.aspx
Cmdlet Descripción

Get-AzureHDInsightJob Recupera la lista de trabajos de un clúster

HDInsight especificado o los detalles del

trabajo HDInsight especificado según los

parámetros especificados.

Get-AzureHDInsightJobOutput Recupera la salida del trabajo para el trabajo

especificado en función de los valores del

parámetro de entrada.
41

Invoke-AzureHDInsightHiveJob Envía un trabajo Hive al clúster HDInsight,

realiza un seguimiento del progreso y recupera

el resultado.

New-AzureHDInsightHiveJobDefinition Crea una definición de trabajo para un trabajo

de Hive para HDInsight.

New- Crea una definición de trabajo para un trabajo

AzureHDInsightMapReduceJobDefinition de reducción de mapas para HDInsight.

New-AzureHDInsightPigJobDefinition Crea una definición de trabajo para un trabajo

porcino para HDInsight.

New-AzureHDInsightSqoopJobDefinition Crea una definición de trabajo para un trabajo

Sqoop para HDInsight.

New- Crea una definición de trabajo para que un

AzureHDInsightStreamingMapReduceJob mapa de transmisión Reduzca la tarea para

Definition HDInsight.

Start-AzureHDInsightJob Inicia un trabajo de Azure HDInsight con la

definición de trabajo especificada en el clúster

especificado.

Stop-AzureHDInsightJob Detiene un trabajo especificado en un clúster

de HDInsight especificado.

Wait-AzureHDInsightJob Espera a que se complete un trabajo de

HDInsight e informa el progreso.


42

Tabla 6. Otros cmdlets.


Fuente: https://msdn.microsoft.com/en-us/library/dn479228.aspx
Cmdlet Descripción

Grant- Otorga acceso HTTP al clúster HDInsight

AzureHDInsightHttpServicesAccess especificado.

Revoke- Revoca / deshabilita el acceso HTTP al clúster

AzureHDInsightHttpServicesAccess HDInsight especificado.

Esos son los cmdlets comúnmente utilizados. Existen varios otros cmdlets de PowerShell que

pueden ser de utilidad dependiendo de los requisitos.

3.1.6 Análisis de Precios para la implementación de Big Data.

Azure HDInsight es un servicio en la nube totalmente administrado que logra que el procesamiento

de grandes cantidades de datos sea sencillo, rápido y rentable. Use los marcos de código abierto

más populares, como Hadoop, Spark, Hive, LLAP, Kafka, Storm, HBase, Microsoft R Server y

muchos más. Azure HDInsight posibilita una amplia variedad de escenarios, como ETL,

almacenamiento de datos, aprendizaje automático, IoT, etc.

3.1.6.1 Características del servicio

 Los clústeres preconfigurados están optimizados según distintos escenarios de macro datos.

 Acuerdo de Nivel de Servicio (SLA) del 99,9 % en el clúster.

 Alta disponibilidad

 Rentable para escala de nube

 Ejecución de trabajos bajo demanda a través de Azure Data Factory.

 Seguridad de red: Compatibilidad de VNET de Azure de puerta de enlace segura.


43

 Seguridad de datos: cifrado y control de acceso basado en roles en Storage.

 Supervisión avanzada con Azure Log Analytics.

 Integración: Azure Cosmos DB y otros servicios de datos de Azure.

 Integración de Active Directory y Apache Ranger con Enterprise Security Package.

3.1.6.2 Componentes

 Hadoop

 Spark

 Demostración interactiva

 Microsoft R Server

 Kafka

 HBase

 Storm

 Amplíe los clústeres de HDInsight para instalar cualquier motor de código abierto.

3.1.6.3 Característica de los precios

Clústeres de Azure HDInsight

Los clústeres, que se facturan por minuto, ejecutan un grupo de nodos en función del componente.

Los nodos varían según el grupo (por ejemplo, nodo de trabajo, nodo principal, etc.), la cantidad

y el tipo de instancia.

A los clientes se les cobra por cada nodo según la duración del ciclo de vida del clúster. El precio

de los nodos de abajo representa todas las cargas de trabajo, excepto Microsoft R Server, donde se

cobra un suplemento adicional.


44

Enterprise Security Package

El nivel Premium ahora se denomina "Enterprise Security Package". Hay un suplemento adicional

por el nivel Enterprise Security Package (igual que el de Premium) y se cobra $0,02/núcleo-hora.

Enterprise Security Package se encuentra actualmente en fase de versión preliminar pública y, por

eso, en el precio se refleja un descuento del 50 %.

3.1.6.4 Detalles de precios

Tabla 7. Detalle de Precios.


Fuente: https://azure.microsoft.com/es-es/pricing/details/hdinsight/
COMPONENTE PRECIOS

HADOOP, SPARK, INTERACTIVE QUERY, PRECIO BASE / NODO-HORA


KAFKA*, STORM Y HBASE
Kafka requiere discos administrados. los clientes pueden
elegir entre los niveles estándar y premium de managed
disks. se aplican los precios de los discos administrados.

MICROSOFT R SERVER (PRECIO BASE / NODO-HORA)


Se aplica un suplemento adicional por Microsoft R Server. + ($0,016 / NÚCLEO-HORA)

ENTERPRISE SECURITY PACKAGE (VERSIÓN PRECIO BASE / NODO-HORA


PRELIMINAR) + $0,02 / NÚCLEO-HORA

3.1.6.5 Precio base/nodo-hora

Nodos optimizados para memoria para HDInsight

Tabla 8. Precios base/nodo-hora.


Fuente: https://azure.microsoft.com/es-es/pricing/details/hdinsight/
INSTANCIA CPU RAM SO PRECIO DE PRECIO
HDINSIGHT TOTAL++

D11 V2 2 14 GB ~$108,77/MES ~$27,31/MES ~$136,08/MES


45

D12 V2 4 28 GB ~$218,27/MES ~$54,61/MES ~$272,88/MES

D13 V2 8 56 GB ~$436,54/MES ~$109,21/MES ~$545,75/MES

D14 V2 16 112 GB ~$873,08/MES ~$218,42/MES ~$1.091,50/MES

Nodos de uso general para HDInsight

Tabla 9. Precio de nodos para HDInsight AV2.


Fuente: https://azure.microsoft.com/es-es/pricing/details/hdinsight/
INSTANCIA CPU RAM SO PRECIO DE PRECIO
HDINSIGHT TOTAL++

A1 V2 1 2 GB ~$29,57/MES ~$12,05/MES ~$41,61/MES

A2M V2 2 16 GB ~$87,60/MES ~$24,09/MES ~$111,69/MES

A2 V2 2 4 GB ~$61,32/MES ~$24,09/MES ~$85,41/MES

A4M V2 4 32 GB ~$183,23/MES ~$48,18/MES ~$231,41/MES

A4 V2 4 8 GB ~$129,21/MES ~$48,18/MES ~$177,39/MES

A8M V2 8 64 GB ~$385,44/MES ~$96,36/MES ~$481,80/MES

A8 V2 8 16 GB ~$270,83/MES ~$96,36/MES ~$367,19/MES

Tabla 10. Precio de nodos A para HDInsight.


Fuente: https://azure.microsoft.com/es-es/pricing/details/hdinsight/
INSTANCIA CPU RAM SO PRECIO DE PRECIO
HDINSIGHT TOTAL++

A1 1 1,75 GB ~$43,80/mes ~$12,05/mes ~$55,85/mes


46

A2 2 3,5 GB ~$87,60/mes ~$24,09/mes ~$111,69/mes

A3 4 7 GB ~$175,20/mes ~$48,18/mes ~$223,38/mes

A4 8 14 GB ~$350,40/mes ~$96,36/mes ~$446,76/mes

A5 2 14 GB ~$160,60/mes ~$24,09/mes ~$184,69/mes

A6 4 28 GB ~$321,20/mes ~$48,18/mes ~$369,38/mes

A7 8 56 GB ~$642,40/mes ~$96,36/mes ~$738,76/mes

Tabla 11. Precio de nodos D para HDInsight.


Fuente: https://azure.microsoft.com/es-es/pricing/details/hdinsight/
INSTANCIA CPU RAM SO PRECIO DE PRECIO
HDINSIGHT TOTAL++

D1 v2 1 3,5 GB ~$41,61/mes ~$12,05/mes ~$53,66/mes

D2 v2 2 7 GB ~$83,22/mes ~$24,09/mes ~$107,31/mes

D3 v2 4 14 GB ~$167,17/mes ~$48,18/mes ~$215,35/mes

D4 v2 8 28 GB ~$334,34/mes ~$96,36/mes ~$430,70/mes

D5 v2 16 56 GB ~$668,68/mes ~$192,72/mes ~$861,40/mes

Precios de desarrollo/pruebas disponibles

Los precios con descuento de Azure están disponibles para los suscriptores de Visual Studio que

desean ejecutar cargas de trabajo de desarrollo y pruebas de forma individual o en equipo. Los
47

suscriptores de Visual Studio activos pueden beneficiarse de una amplia variedad de descuentos

con una suscripción de Azure basada en una oferta para desarrollo y pruebas.

Soporte técnico y acuerdo de nivel de servicio

 Soporte de facturación y administración de suscripciones gratuito.

 Planes de soporte flexibles desde $29/mes. Busque un plan.

 Conectividad garantizada del 99,9 % para varias instancias.

4 Recomendaciones y buenas prácticas

Big Data es la tendencia que está revolucionando la sociedad y sus organizaciones por las

capacidades que brinda para aprovechar una gran variedad de datos, en grandes volúmenes y con

velocidad. Sin embargo, muchas organizaciones están dando sus primeros pasos para incorporar

Big Data en sus procesos. Por eso, recopilamos unas recomendaciones que el gigante de Armonk,

IBM, da para iniciar en el mundo de los datos.

Tenga claros los objetivos de negocio: Los proyectos de Big Data deben ir alineados con los

objetivos de negocio para que generen valor en la organización. Así que el primer paso es recopilar,

analizar y comprender los requerimientos del negocio para tener claras sus necesidades e iniciar

con los proyectos de análisis de datos.

Implementar Big Data es una decisión de negocio, Las soluciones de análisis de datos son más

exitosas cuando nacen por un punto de vista o necesidad comercial y no desde el área de TI de las

organizaciones. Esto se debe a que las soluciones deben adaptarse a las necesidades de negocios y

no las necesidades a la tecnología.

Utilice soluciones ágiles, Generalmente los proyectos con Big Data inician con un caso específico.

A medida que se implementan, las necesidades de las organizaciones evolucionan para incorporar
48

más técnicas y aprovechar los datos. Por eso es importante incorporar soluciones ágiles que se

basen en las necesidades de negocio y permitan implementar técnicas para hallar oportunidades y

valor fácilmente.

Evalúe las necesidades de datos, Si su negocio está listo para implementar soluciones de análisis

de datos, es importante llevar a cabo una evaluación completa de los datos con los que cuenta para

identificar cómo utilizarlos para alcanzar los beneficios al máximo. Con su equipo de trabajo,

analice qué datos debe conservar, cómo administrarlos, cómo acceder a ellos y qué datos debe

descartar.

Libere el valor de los datos, Para liberar el valor de Big Data es necesario que las empresas

aprovechen sus inversiones anteriores en infraestructura, plataformas, inteligencia de negocios y

almacenes de datos, en lugar de incorporar tecnologías nuevas. Además, se debe invertir en

fortalecer el acceso a los datos, de esta forma los miembros de su empresa podrán correlacionar

diferentes tipos y fuentes de datos, para hacer asociaciones y hacer descubrimientos significativos.

Hoy en día, el análisis de datos no es solo un aliado que entrega una ventaja competitiva, es algo

que todas las grandes organizaciones deben hacer y tener. Es el momento de explotar el valor de

la información y aunque la tendencia de Big Data puede ser aprovechada por cualquier empresa,

independiente del sector en la que se desenvuelva, existe hoy día algunos sectores específicos que

han logrado explotar de mejor manera las infinitas posibilidades de los datos.

Algunas ramas que pueden ser muy beneficiadas por la implementación de Big data son:

Las empresas aseguradoras: para estas el Big data es de gran ayuda ya que, al tener públicos

objetivos muy diversos, pueden crear informes transversales que aportan información sobre los

riesgos, la salud futura del usuario y cuáles serían sus futuras demandas en materia de seguros.
49

El sector de las finanzas: es otro rubro que aprovecha los datos para predecir riesgos en los

mercados, logrando identificar oportunidades y mejorando la precisión de sus predicciones

financieras.

Las empresas de transporte masivo: como aerolíneas, líneas de buses y otros que mueven

masivamente personas y carga, estas necesitan información de sus vuelos, pasajeros, rutas

cantidades y otros que deben estar a la mano para ayudar a la mejor toma de decisiones en cuanto

al análisis de rutas, factores de ocupación, factores de puntualidad entre otros.

Las telefónicas y proveedores de servicios y conectividad: estos por la inmensa cantidad de

información que generan, una solución Big Data les facilitaría inmensamente para el estudio y

análisis de su información, y para la generación de reportes e informes gerenciales.

Por último, aunque no menos conocido, en el campo del marketing (marketing digital) que se

está diseñando campañas cada vez más ajustadas a los gustos y necesidades de las audiencias,

basados en históricos e información que recolectan de los usuarios en la red: escucha social,

términos de búsqueda, etc.

5 Conclusiones

 El uso de Big Data ayudo a los investigadores a descubrir aspectos que les podrían haber

tomado años en descubrir por si mismos sin el uso de estas herramientas, debido a la

velocidad del análisis, es posible que el analista de datos pueda cambiar sus ideas

basándose en el resultado obtenido y retrabajar el procedimiento una y otra vez hasta

encontrar el verdadero valor al que se está tratando de llegar.

 Las soluciones big data como conjunto de recursos que permiten la gestión y análisis de

cantidades masivas de datos, juegan hoy en día un papel importante en las empresas que
50

tienen la necesidad de la información para planear u organizar estrategias de mercado que

impacten en la sociedad generando un valor positivo en sus clientes.

 Implantar tecnología Big Data para procesar toda aquella información que recoja una

aplicación móvil, un sensor de movimiento, una cámara de video, un GPS, una página web,

rastreando todas las acciones que lleva a cabo el cliente; conocer donde cliquea más veces,

cuántas veces ha pasado por el carrito de la compra, cuáles son los productos más vistos,

las páginas más visitadas, etc.

 Adicionalmente el uso de big data en nuestras empresas y el aprovechamiento de las

tecnologías que día a día van innovando, actualizando y mejorando en sus herramientas,

que el usuario tiene una variedad de opciones, entre ellas la suite de herramientas y

tecnologías de Microsoft, que ayudarán a las empresas a obtener muchos más beneficios

y un mayor conocimiento sobre su información ya que consolidar datos y analizarlos a

través de determinados patrones, se ha convertido en una ayuda trascendental.

 En definitiva, el Big Data es una combinación de las V’s donde las empresas pueden

obtener una ventaja competitiva frente a empresas de la competencia contribuyendo al éxito

asegurado con viabilidad, visualización y valor.

 En definitiva, el uso de las diferentes herramientas para la implementación de big data,

hadoop y la computación en la nube de Azure, trae consigo infinidad de beneficios que sin

duda facilitarán el mayor aprovechamiento y entendimiento de la información que tiene

una empresa, considerando las múltiples fuentes de información y a la distribución que se

tenga de dicha información.


51

6 Bibliografía.

Que es big Data.


URL https://www.ibm.com/developerworks/ssa/local/im/que-es-big-data/

The 10 Vs of Big Data.


URL https://tdwi.org/articles/2017/02/08/10-vs-of-big-data.aspx.

Arquitectura HDFS.
URL http://hadoop.apache.org/docs/stable1/hdfs_design.html

Azure HDInsight y la pila de tecnología de Hadoop.


URL https://docs.microsoft.com/es-es/azure/hdinsight/hadoop/apache-hadoop-
introduction

HDInsight PowerShell Cmdlets Reference Documentation.


URL https://msdn.microsoft.com/en-us/library/dn479228.aspx

Documentación PolyBase.
https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-guide?view=sql-
server-2017

Documentación de Azure HDInsight.


URL https://docs.microsoft.com/es-es/azure/hdinsight/

Estructura de precios de Azure HDInsight.


URL https://azure.microsoft.com/es-es/pricing/details/hdinsight/

SQL Server Big Data Tips.


URL https://www.mssqltips.com/sql-server-tip-category/208/big-data/

Tom White, (2009). Hadoop: The Definitive Guide.


Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

Nathan Marz with James Warren, (2015). BIG DATA Principles and Best Practices of scalable
real-time data systems.
Manning Publications Co. A.

Viktor Mayer-Schönberger and Kenneth Cukier, (2013). BIG DATA A Revolution That Will
Transform How We Live, Work, and Think.
Houghton Mifflin Harcourt

Vous aimerez peut-être aussi