En la generación actual, Apache Flink es la gran herramienta gigante que no es más que 4G de Big Data. Es el verdadero marco de procesamiento de flujo. El núcleo de Flink (núcleo) es un tiempo de ejecución de transmisión que proporciona procesamiento distribuido, tolerancia a fallas. Flink procesa eventos a una alta velocidad constante con baja latencia. Esquematiza los datos a la velocidad del rayo. Apache Flink es el marco de procesamiento de datos a gran escala que podemos reutilizar cuando los datos se generan a alta velocidad. Esta es una importante plataforma de código abierto que puede abordar numerosos tipos de condiciones de manera eficiente:
- Procesamiento por lotes
- Procesamiento iterativo
- Procesamiento de flujo en tiempo real
- Procesamiento interactivo
- Procesamiento en memoria
- Procesamiento de gráficos
Flink es la voluntad de MapReduce, procesa datos más de 100 veces más rápido que MapReduce. Es independiente de Hadoop, pero puede usar HDFS (Sistema de archivos distribuidos de Hadoop) para leer, escribir, almacenar y procesar los datos. Flink no proporciona su propio sistema de almacenamiento de datos. Toma datos del almacén distribuido.
¿Por qué Apache Flink?
Flink es voluntad de MapReduce, procesa datos más de 100 veces más rápido que MapReduce. Es independiente de Hadoop pero puede usar HDFS para leer, escribir, almacenar y procesar los datos. Flink no proporciona su propio sistema de almacenamiento de datos. Toma datos del sistema de almacenamiento distribuido. La visión crucial de Apache Flink es superar y reducir la complejidad a la que se han enfrentado otras máquinas controladas por datos distribuidos. Esto se logra mediante la integración de la optimización de consultas, las generalidades de los sistemas de bases de datos y algoritmos paralelos efectivos en memoria y fuera del núcleo, con el marco MapReduce. Entonces, Apache Flink se basa sustancialmente en el modelo de transmisión, Apache Flink itera los datos mediante el uso de una armadura de transmisión. Ahora, la concepción de un algoritmo iterativo está ligada al optimizador de consultas Flink. Asi que,
Características de Apache Flink
- Baja inactividad y alto rendimiento: Apache Flink proporciona alto rendimiento y baja inactividad sin ninguna configuración pesada. Su armadura canalizada proporciona una alta tasa de rendimiento. Procesa los datos a la velocidad de la luz, también se denomina 4G de Big Data.
- Tolerancia a fallas: El punto de tolerancia a fallas otorgado por Apache Flink se basa en disparos distribuidos de Chandy-Lamport, este medio proporciona fuertes garantías de grosor.
- Duplicaciones: Apache Flink proporciona el soporte dedicado para algoritmos iterativos (alfabetización de máquinas, procesamiento de gráficos)
- Gestión de memoria: por lo tanto, la operación de memoria en Apache Flink proporciona control sobre la importancia de la memoria que usamos en ciertas operaciones de tiempo de ejecución.
- Integración: podemos integrar con fluidez Apache Flink con otros ecosistemas de procesamiento de datos de código abierto. Se puede integrar con Hadoop, acueductos de datos de Kafka, se puede ejecutar en YARN.
Apache Flink: la plataforma unificada
Apache Spark ha iniciado la nueva tendencia al ofrecer una plataforma diferente para resolver diferentes problemas, pero está limitada debido a su máquina de procesamiento por lotes de base que procesa los acueductos también como microlotes. Flink ha tomado la misma capacidad por delante y Flink puede resolver todos los tipos de problemas de Big Data. Apache Flink es una herramienta de cálculo de clústeres de propósito general, que puede manejar el procesamiento por lotes, el procesamiento interactivo, el procesamiento de secuencias, el procesamiento iterativo, el procesamiento en memoria y el procesamiento de gráficos. Por lo tanto, Apache Flink es la plataforma Big Data de próxima generación, también conocida como 4G de Big Data. El núcleo de Flink es un tiempo de ejecución de transmisión que también proporciona una velocidad ultrarrápida, tolerancia a fallas, procesamiento distribuido, facilidad de uso, etc. Principalmente, Flink procesa datos a una velocidad constantemente alta con una inactividad verdaderamente baja. Asi que,
Ecosistema de Flink
1. Almacenamiento/transmisión
Flink no se corresponde con el sistema de almacén; es sólo una máquina de calcular. Flink puede leer y escribir datos de diferentes sistemas de almacenamiento, así como consumir datos de sistemas de transmisión. Flink puede leer y escribir datos de diferentes almacenes/sistemas de transmisión como
- HDFS: sistema de trenes distribuidos de Hadoop
- Local-FS: es el sistema de archivos local
- S3: servicio de almacenamiento simple de Amazon
- HBase: en el ecosistema de Hadoop, HBase es básicamente una base de datos NoSQL
- MongoDB – Base de datos NoSQL
- RDBMS: cualquier base de datos relacional
- Kafka: cola de mensajería distribuida
- RabbitMQ – Cola de mensajería
- Flume: se utiliza principalmente para la recopilación de datos y la herramienta de agregación.
La siguiente capa es la operación de recurso/implementación. Flink se puede colocar en diferentes modos
- Modo local: en un solo Node, en una sola JVM
- Clúster: en un clúster de varios Nodes, con el director de recursos.
- Independiente: este es el director de recursos de abandono que está repleto de Flink.
- YARN: este es un director de recursos verdaderamente popular, es parte de Hadoop (introducido en Hadoop2.x)
- Mesos: este es un director de recursos generalizado.
- Nube: en la nube de Amazon o Google
La próxima capa es Runtime: Distributed Streaming Dataflow, que también se denomina núcleo de Apache Flink. Esta es la capa central de Flink que proporciona procesamiento distribuido, tolerancia a fallas, confiabilidad, capacidad de procesamiento iterativo nativo, etc. La subcasta superior es para API y biblioteca, que proporciona las diferentes capacidades para Flink.
2. API de conjunto de datos
Maneja los datos del resto, permite que el fumador aplique operaciones como gráfico, lodo, unión, grupo, etc. en el conjunto de datos. Se utiliza sustancialmente para el procesamiento distribuido. En realidad, es un caso especial de procesamiento de Stream en el que tenemos una fuente de datos finita. La operación por lotes también se ejecuta en el tiempo de ejecución de transmisión.
3. API de transmisión de datos
Maneja una compuerta continua de los datos. Proporciona operaciones coloridas como gráfico, lodo, actualización de países, ventana, total, etc. para reutilizar el flujo de datos en vivo. Puede consumir los datos de la fuente de transmisión colorida y puede escribir los datos en diferentes pozos negros. Es compatible con Java y Scala. Ahora vamos a usar algunas herramientas DSL (Biblioteca específica de dominio)
4. Mesa
Permite a los usuarios de drogas realizar análisis ad-hoc utilizando un lenguaje de expresión similar a SQL para procesamiento por lotes y esclusas relacionales. Se puede colocar en las API de Dataset y DataStream. En realidad, evita que los drogadictos escriban leyes complejas para reutilizar los datos en lugar de permitirles ejecutar consultas SQL sobre Flink.
5. Gelly
Es la máquina de procesamiento de gráficos que permite a los drogadictos ejecutar un conjunto de operaciones para producir, transfigurar y reutilizar el gráfico. Gelly también proporciona la biblioteca de un algoritmo para simplificar el desarrollo de operaciones gráficas. Para manejar gráficos de manera eficiente, aprovecha el modelo de procesamiento iterativo nativo de Flink. Podemos usar sus APIs en Java y Scala.
6. Flink ML
Es la biblioteca de aprendizaje automático que proporciona API intuitivas y un algoritmo efectivo para manejar operaciones de alfabetización automática. Lo escribimos en Scala. Como sabemos que los algoritmos de aprendizaje automático son de naturaleza iterativa, Flink brinda soporte nativo para que los algoritmos iterativos manejen lo mismo de manera relativamente efectiva y eficiente.
Arquitectura de Flink
Flink trabaja al estilo Amo-esclavo. El maestro es el nudo director del grupo donde los esclavos son los topetones de los trabajadores. Como se muestra en la figura, el maestro es la pieza central del clúster donde el cliente puede enviar el trabajo/trabajo/operación. Ahora el maestro dividirá todo el trabajo en subpartes y lo enviará a los esclavos en el grupo. De esta manera, Flink disfruta de un poder de cálculo distribuido que le permite reutilizar los datos a una velocidad ultrarrápida.
Hay dos tipos de golpes, un maestro y un nudo esclavo. En el Node maestro, configuramos el demonio maestro de Flink llamado «Administrador de trabajos», y en todos los golpes de esclavos, el demonio esclavo de Flink se llama «Administrador de Nodes».
Modelo de ejecución de Flink
- Programa: Inventor escribió el programa de operación.
- Analizar y optimizar: durante este paso, se realizan el análisis de leyes, el extractor de tipos y la optimización.
- Gráfico de flujo de datos: todos y cada uno de los trabajos se convierten en el gráfico de flujo de datos.
- Administrador de trabajos: ahora el director de trabajos programa la tarea en los directores de tareas; mantiene los metadatos de entrada de datos. El director de trabajo distribuye los controladores y monitorea los resultados de la tarea intermedia.
- Administrador de tareas: las tareas se ejecutan en el director de tareas, son los golpes de trabajador.
Publicación traducida automáticamente
Artículo escrito por koustavghosh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA