Está en la página 1de 11

Curso Big data:

1. Batch Processing

El término de BATCH PROCESSING obedece a una técnica empleada para procesar y ejecutar una
gran cantidad de datos por lotes, permitiendo a cada uno de sus usuarios recopilar y almacenar volúmenes
de informacion en esta categoría, mejorando así, la eficiencia al priorizar el análisis correspondiente a cada
información que será relevante para una entidad determinada.

Por tanto, el valor que el Big Data deriva para la mayoría de las empresas en la actualidad en
dos vertientes, como lo es el uso de análisis y la habilitación de nuevos elementos, donde el
análisis les permite conocer datos, estadísticas y precisión relacionados con el proceso de
gestión en cada servicio y la relación con el consumidor, de su producto o servicio, como el
impacto en los clientes y la capacidad de procesar grandes volúmenes de datos en tiempo real,
eliminando así procesos engorrosos y latentes en las gestiones empresariales.

En este sentido, las plataformas bajo las estructuras algorítmicas de Hadoop de código abierto
para Spark, o Sqoop, Pig, Flume o Hive, por nombrar algunas de ellas, corresponden al
procesamiento de datos más eficaces en las gestiones empresariales actualmente, por ende,
detallaremos el funcionamiento de cada una de estas plataformas en el presente modulo.

1. Hadoop

Hadoop fue creado por Doug Cut, creador de Apache Lucene, el cual está basado en un
sistema de manejo de información por medio del procesamiento paralelo y distribuido de Big
Data, concebido para solucionar un problema de escalabilidad que existía en Nutch, un motor
de búsqueda y rastreo de código abierto.

Desarrollado bajo el lenguaje de programación de Java y bajo el permiso de Apache, por lo


que está diseñado para ofrecer redundancia de hardware y datos de forma automática,
haciendo uso de la implementación de un conjunto de herramientas exhaustivas para el amplio
tratamiento de enormes volúmenes de información, cuyo diseño origen tomo las bases
de MapReduce de Google, así como sus sistemas de archivos respectivamente, donde para
aquel entonces Google había publicado documentos que describían su novedoso sistema
distribuido.

Sin embargo, la herramienta de Hadoop al ser más conocida por su estructura de origen de
MapReduce y su sistema de archivos distribuido en sus siglas HDFS (Hadoop Distributed
File System), formando parte del componente principal del ecosistema Hadoop, también es
implementada para entornos cuyo de manejo de información bajo estructuras con vertientes
de escalabilidad a través de la computación distribuida.

Ejemplo de ello fue la adopción para el año 2006 de la empresa Yahoo en su infraestructura, con Apache
Hadoop, cuyo fin era optimizar su aplicación WebMap, cuya tecnología era capaz de construir o crear
elementos gráficos de la web para impulsar su motor de búsqueda.
Pero, ¿a qué se debió este cambio? Todo esto se debe a que su infraestructura anterior,
llamada “Dreadnaught”, había funcionado con éxito y crecido bien, de solo 20 nodos de
tamaño y se expandió a 600 nodos de clúster, pero desde entonces ha logrado la máxima
escalabilidad con aplicaciones distribuidas, porque funciona de forma muy similar a
MapReduce.

Permitiendo así, su desarrollo para entornos de Big Data, ampliando y justificando la


necesidad de implementar nuevas plataformas para el manejo de nformación en esta categoría,
y de esta forma, Hadoop permitió establecerse en grandes empresas, instituciones y
corporaciones que abarcan distintas áreas del mercado que pueden explorar datos complejos a
través de análisis personalizados que se adaptan a sus datos y necesidades, trabajando bajo
un modelo de gran escala.

Siendo Hadoop YARN, el nuevo sustituto del componente monolítico de MapReduce cuya
base original es de la versión 1, donde la programación y la gestión de componentes activos
aislados de la gestión de canales de la herramienta MapReduce, que abre espacio para
varios “sistemas de aplicación”, que no se basaban en el procesamiento de MapReduce.

Por ello, el ecosistema Hadoop es diverso, con un elevado crecimiento día a día, siendo
imposible hacer un seguimiento de todos los diversos proyectos que interactúan con Hadoop
de alguna manera, por ende, detallamos una lista de las herramientas disponibles en el
ecosistema Hadoop:

Herramientas

 Ambari Gestión y monitorización de Hadoop.


 Avro Sistema de serialización de datos.
 Chukwa Recogida y monitorización de datos.
 Hama BSP sistema de computación científica.
 Hbase Base de datos no relacional Hadoop NoSQL.
 Hive Almacén de datos Hadoop.
 Hue Interfaz web de Hadoop para el análisis de datos.
 Mahout Plataforma de aprendizaje automático escalable.
 Algoritmo Map/Reduce utilizado por el componente Hadoop MR.:

Algoritmo Map/Reduce utilizado por el componente Hadoop MR.

 Nutch Web crawler.


 Oozie Programador de flujos de trabajo.
 Pentaho Conjunto de herramientas de análisis de código abierto.
 Pig Lenguaje de alto nivel de análisis de datos.
 Solr Plataforma de búsqueda.
 Sqoop Herramienta de transferencia de datos a granel.
 Storm Sistema de cálculo distribuido en tiempo real.
 Yarn Map/Reduce en Hadoop Versión 2.
 ZooKeeperSistema de configuración centralizada de Hadoop.

Ahora bien, la plataforma de Hadoop se ha caracterizado por su escalabilidad en el


procesamiento de datos, así como:
Características

 Alto nivel de alcance para entornos empresariales.


 Su desarrollo es bajo la licencia de Apache.
 Implementación para Big data, bajo código abierto.
 Tiene una estructura de algoritmo para procesar big data.
 Permite ser operado con equipamiento técnico básico.
 Permite conmutación en caso generar falla en el procesamiento de datos.
 El clúster se desfragmenta automáticamente.

Por otro lado, cuando un conjunto de datos excede el límite de almacenamiento de un solo
dispositivo, es importante dividirlo en varios dispositivos separados, cuya administración
de almacenamiento, se enfoca bajo un modelo distribuido dentro de red de dispositivos
respectivamente.

En lugares donde esta complejidad se convierte en un factor indispensable, lo que hace que
los sistemas de archivos distribuidos sean más complejos que los sistemas de archivos de
disco tradicionales, quizás la prueba más importante sea asegurarse de que el sistema de
archivos pueda soportar las fallas en los nodos sin pérdida de datos.

En consecuencia, la etapa de Hadoop depende de un sistema de archivos distribuidos


llamado HDFS (Hadoop Distributed Filesystem), cuyo emblema depende en una abstracción
de archivos con las integraciones a diversos sistemas de almacenamiento, así como el sistema
de archivos local y Amazon S3.

Actualmente, los clientes que llevan a cabo o utilizan el escenario Hadoop se mantienen en la
suposición de que ninguna información se perderá o socavará durante su proceso de
almacenamiento o el manejo de los datos.

No obstante, ya que cada actividad tanto de entrada y salida en el disco, o en la red conlleva
una pequeña posibilidad de introducir posibles errores en los datos que el disco o la red
puedan estar leyendo, cuando el manejo de grandes volúmenes de información, Hadoop
puede hacer frente a la posibilidad de alta información que pueda generar errores durante su
procesamiento final

Por lo tanto, HDFS verifica de forma transparente todos los datos escritos en él y verifica la
suma de datos al momento de la lectura de las características de los mismos, de forma
predetrminada, y genera un proceso de verificación separado para cada byte de
datos io.bytes.per.checksum, este valor predeterminado es de 512 bytes y cuando CRC-32
efectuá una adición de verificación de 4 bytes, la capacidad de almacenamiento es inferior al
1%.

Saber más

Aunque, el método habitual para detectar datos corruptos es calcular, a través de la


suma, un conjunto de datos, que son generados en el procesamiento de cada registro, al
implementar este tipo de tecnología se recomienda utilizar equipos avanzados, y no de
procesos básicos esto evitaría que, durante el tratamiento de los datos, se generen
registros corruptos, al ser traspasados por canales desconocido. Y de baja gama en
procesamiento

A su vez, es importante enfatizar que los datanodes son responsables de verificar la


información que reciben antes de almacenar sus datos y verificación, aplicables a los datos
que reciben del cliente y los y de otros datanodes durante el proceso de copia.

Por ejemplo, si un cliente que escribe datos los envía a una cadena de datanodes, y en el
último nodo de datos en la cadena de validación de la suma de comprobación, se detecta un
error, el cliente recibe una ChecksumException, que es una subclase de IOException, que
debe ser explícito para lograr un reintento en la operación de una actividad.

Procesamiento de los Data Nodes


A medida que los clientes leen la información en los nodos de datos, también confirman las sumas de
verificación, las verifican con las almacenadas en los nodos de datos y descubren cómo mantener un
registro permanente de verificación del total de afirmaciones, en ciclos de actualización, que ha sido
verificado. En el momento en que el cliente confirma una casilla, la envía al token de datos, que actualiza
su historial, por ello, mantener estadísticas como éstas son valioso para detectar discos defectuosos.

1.1 Analizar los datos con Hadoop

Para aprovechar la gestión equilibrada que ofrece Hadoop en el funcionamiento de


MapReduce es permitir la división del procesamiento de datos en dos fases: la fase de
mapeo y la fase de reducción, donde cada etapa contiene conjuntos importantes de
estimaciones identificadas como clave-valor, como información y rendimiento en los procesos
de entrada y salida, permitiendo al programador implementar estas funciones en la estructura
algorítmica, para así denotar el proceso a ejecutar según sea el caso de tratamiento de la
información.
Ahora desarrollemos una entrada en la etapa de mapeo con datos brutos con el propósito de
analizar variables de temperatura en el ambiente en un área particular clasificada por períodos
anuales, seleccionando la estructura del elemento, con una importación abstracta del flujo de
archivos a procesar.

Seguidamente, al implementar una función de mapeo, cuya ejecución es muy simple donde
podemos abstraer valores como el año y la temperatura del aire, porque esos son los únicos
campos que nos interesan. En este caso, la función de mapa es solo la etapa de preparación de
datos, haciendo uso de la función de reducción, permitiendo en la ejecución del proceso
hallar la temperatura máxima para cada año establecido.

Así, la función de mapa es ideal para eliminar registros erróneos: aquí filtramos las
temperaturas faltantes, sospechosas o erróneas, y para visualizar el funcionamiento del mapa,
veamos los siguientes ejemplos de líneas de entrada (ver Eliminar algunas columnas no
utilizadas para ajustar la página, indicadas con elipses):

0067011990999991950051507004 ... 9999999N9 + 00001 + 99999999999...


0043011990999991950051512004 ... 9999999N9 + 00221 + 99999999999...
0043011990999991950051518004 ... 9999999N9 - 00111 + 99999999999...
0043012650999991949032412004 ... 0500001N9 + 01111 + 99999999999...
0043012650999991949032418004 ... 0500001N9 + 00781 + 99999999999...

Ahora bien, se implementará la función de mapeo en la lista anterior para enmarcarlos en


datos bajo una estructura de categorización:
(0, 0067011990999991950051507004 ... 9999999N9 + 00001 + 99999999999...)
(102, 00585957909999919500454515476 ... 9999999N9 + 00221 + 99999999999...)
(851, 00587458212368854120051574510 ... 9999999N9 - 00111 + 99999999999...)
(578, 006547893154822542150324115476 ... 0500001N9 + 01111 + 99999999999...)
(123, 004124788542684523547032414510 ... 0500001N9 + 00781 + 99999999999...)

Seguidamente, la función map (función de mapeo) simplemente extrae el año y la


temperatura del aire (en negrita) y los datos de salida serán las variables de temperatura se
han interpretado como valores enteros:

(1950, 0)
(1950, 22)
(1950, −11)
(1949, 111)
(1949, 78)

Una vez generada la salida de la función map, los datos generados son tratados por
el framework MapReduce antes de ser emitidos a la función reduce, cuyo procesamiento
clasifica y categoriza los pares establecidos por índice, generando la siguiente entrada:

(1949,[111,78])
(1950, [0, 22, −11])

Donde, el periodo anual permite la visualización de los datos a través de una lista de todas sus
lecturas de las variables de temperatura del aire, donde la función de reducción puede iterar
los datos a través de la lista leída y obtener de ella el máximo valor:

(1949,111)
(1950, 22)

Y de esta forma se obtiene el resultado final de la variable temperatura máxima


global registrada en cada periodo anual.

1.2 La Arquitectura Hadoop V1

En la arquitectura V1, el rastreador de trabajos maestro se utiliza para administrar el


rastreador de tareas (Task Trackers) en los nodos secundarios o esclavos, por lo que un
nodo de datos de Hadoop y un Task Tracker coexisten en los mismos nodos secundarios.
Ahora bien, el rastreo de las solicitudes de los clientes a través de la API Map Reduce
(MR), permite procesar los requisitos a través de este elemento, para administrar tanto el
sistema, la programación, los recursos y la conmutación por error.

Saber más

Por ende, Job Tracker gestiona las tareas a través de Task Tracker en función del nodo de datos que gestiona
las tareas o procesos reales. Job Tracker gestiona todos los trabajos solicitados por el cliente, pasa subtareas a
subnodos individuales, realiza un seguimiento de la disponibilidad y la finalización de la tarea.

De tal manera que, Hadoop V1 solo admite clústeres de aproximadamente 4000-5000 nodos y también tiene
un límite en la cantidad de procesos concurrentes que se pueden ejecutar, aunque solo tiene un tipo de
procesamiento, Map Reduce, a pesar de su gran potencia, pero no le permite cumplir requisitos como gráficos o
procesamiento en tiempo real.

1.3 La Arquitectura en Hadoop V2

Usando YARN, Hadoop V2 Job Tracker se divide en un administrador de recursos


maestro y un proceso maestro de aplicación basado en esclavos, donde se separan las
principales tareas de Job Tracker: administración de recursos y monitoreo / programación, y
su función permite brindar información sobre el trabajo completado.

Donde, Task Tracker es reemplazado por un administrador de nodos basado en esclavos,


para supervisar los recursos y las asignaciones de procesos o actividades en los nodos
previamente iniciados por el gestor correspondiente, dejando claro que, la función Map
Reduce está controlada por el proceso Application Master, mientras que las propias tareas
pueden ser Map o Reduce.

Hadoop V2 también ofrece la capacidad de utilizar procesos distintos a Map Reduce, como
Apache Graph para procesar gráficos o Impala para buscar información, de modo que los
elementos de YARN se pueden distribuir entre sus distintos sistemas de procesamiento de
datos.

Cuyo diseño es recibir solicitudes de tareas de clientes enviadas al administrador de recursos


global y administradores de nodos secundarios que están ejecutando contenedores con tareas
reales. También se monitoriza su uso de recursos, a través del Application Master que
demanda compartimentos del planificador y obtiene avisos de las asignaciones de Map
Reduce dependientes de estos componentes.

Ahora bien, esta arquitectura descrita permite la adaptación de Hadoop a clústeres mucho más grandes y
brinda la capacidad de tener más operaciones simultáneas, sin ignorar su enmarcada estructura para
desarrollar diversas operaciones no solo en Map Reduce, dentro de un renglón de tiempo establecido.

Puede funcionar con ambas versiones, por lo que la instalación / compilación y el uso real
también son diferentes, por ejemplo, para V1, hará una instalación manual del software,
mientras que para V2 usará la pila de software.
Esta arquitectura integra recursos adicionales en flujos de datos que no se han utilizado
anteriormente debido a las limitaciones tradicionales de los sistemas de gestión de datos
RDBM, donde es posible incrustar recursos como flujos de clics, la web, redes sociales,
sensores, máquinas, informes e imágenes en los datos., y mientras se ingresa los datos en
Hadoop, como entrada de flujo o lote, los colocamos en HDFS para su análisis directo o su
debida transferencia a otros sistemas.

Este enfoque funciona en los sistemas de RDBM, EDW y MPP extrayendo, convirtiendo y
cargando recursos compactos y que consumen mucho tiempo en la plataforma Hadoop
mucho más barata y cargándolos en la plataforma Hadoop mucho más barata, que es
esencialmente el modelo ETL. Extraiga y cargue todo en Hadoop, pero solo convierta los
datos correctos para su plataforma o necesidades de análisis.

Por lo tanto, YARN es el motor de esta arquitectura, como se mencionó anteriormente, antes de que se
introdujera YARN, MapReduce era el único motor informático de Hadoop. MapReduce tiene muchas ventajas,
pero también tiene muchas limitaciones; Hadoop tradicional pone en cola las tareas de MapaReduce y la tarea no
se puede realizar hasta la tarea anterior.

Por otro lado, MapaReduce, era un proceso por lotes que tardaba horas o días en completarse, pero es excelente
si usa un grupo para responder preguntas individuales de Big Data, pero si desea analizar las ventas diarias
con análisis de tablero, no tiene ninguna posibilidad.

También podría gustarte