¿Qué es Apache Flink® en Azure HDInsight en AKS? (Versión preliminar)
Importante
Azure HDInsight en AKS se retiró el 31 de enero de 2025. Descubre más con este anuncio.
Debe migrar las cargas de trabajo a microsoft Fabric o un producto equivalente de Azure para evitar la terminación repentina de las cargas de trabajo.
Importante
Esta característica está actualmente en versión preliminar. Los Términos de uso complementarios para las versiones preliminares de Microsoft Azure incluyen más términos legales que se aplican a las características de Azure que se encuentran en versión beta, en versión preliminar o, de lo contrario, aún no se han publicado en disponibilidad general. Para obtener información sobre esta versión preliminar específica, consulte información de la versión preliminar de Azure HDInsight en AKS. Para preguntas o sugerencias de funcionalidades, envíe una solicitud en AskHDInsight con los detalles y síganos para obtener más actualizaciones sobre Comunidad de Azure HDInsight.
Apache Flink es un framework y un motor de procesamiento distribuido para cálculos con estado en flujos de datos no acotados y delimitados. Flink se ha diseñado para ejecutarse en todos los entornos de clúster comunes, realizar cálculos y aplicaciones de transmisión con estado a velocidad de memoria y a cualquier escala. Las aplicaciones se paralelizan en posiblemente miles de tareas que se distribuyen y se ejecutan simultáneamente en un clúster. Por lo tanto, una aplicación puede usar cantidades ilimitadas de vCPU, memoria principal, disco e E/S de red. Además, Flink mantiene fácilmente el gran estado de la aplicación. Su algoritmo de creación de puntos de control asincrónico e incremental asegura una influencia mínima en las latencias de procesamiento, a la vez que garantiza la consistencia del estado de manera exacta una vez.
Apache Flink es un motor de análisis escalable de forma masiva para el procesamiento de flujos.
Algunas de las características clave que ofrece Flink son:
- Operaciones en flujos acotados y no acotados
- Rendimiento en memoria
- Capacidad de cálculos por lotes y de streaming
- Baja latencia, operaciones de alto rendimiento
- Procesamiento una sola vez
- Alta disponibilidad
- Estado y tolerancia a errores
- Totalmente compatible con el ecosistema de Hadoop
- API de SQL unificadas para flujos y lotes
¿Por qué Apache Flink?
Apache Flink es una excelente opción para desarrollar y ejecutar muchos tipos diferentes de aplicaciones debido a su amplio conjunto de características. Las características de Flink incluyen soporte para el procesamiento en flujos y por lotes, administración de estado sofisticada, semánticas de procesamiento en tiempo de eventos y garantías de consistencia exactamente una vez para el estado. Flink no tiene un único punto de error. Flink se ha demostrado escalar a miles de núcleos y terabytes de estado de aplicación, ofrece un alto rendimiento y una baja latencia, y potencia algunas de las aplicaciones de procesamiento de flujos más exigentes del mundo.
- detección de fraudes: Flink se puede usar para detectar transacciones fraudulentas o actividades en tiempo real aplicando reglas complejas y modelos de aprendizaje automático en datos de streaming.
- detección de anomalías: Flink se puede usar para identificar valores atípicos o patrones anómalos en datos de streaming, como lecturas de sensores, tráfico de red o comportamiento del usuario.
- alertas basadas en reglas: Flink se puede usar para desencadenar alertas o notificaciones basadas en condiciones o umbrales predefinidos en los datos de streaming, como la temperatura, la presión o los precios de las acciones.
- Supervisión de procesos empresariales: Flink se puede usar para realizar un seguimiento y analizar el estado y el rendimiento de los procesos o flujos de trabajo empresariales en tiempo real, como el suministro de pedidos, la entrega o el servicio al cliente.
- aplicación web (red social): Flink se puede usar para impulsar aplicaciones web que requieren el procesamiento en tiempo real de datos generados por el usuario, como mensajes, likes, comentarios o recomendaciones.
Obtenga más información sobre los casos de uso comunes descritos en casos de uso de Apache Flink
Los clústeres de Apache Flink en HDInsight en AKS son un servicio totalmente administrado. Aquí se enumeran las ventajas de crear un clúster de Flink en HDInsight en AKS.
Característica | Descripción |
---|---|
Facilidad de creación | Puede crear un nuevo clúster de Flink en HDInsight en cuestión de minutos mediante Azure Portal, Azure PowerShell o el SDK. Consulte para comenzar con el clúster de Apache Flink en HDInsight en AKS. |
Facilidad de uso | Los clústeres de Flink en HDInsight en AKS incluyen la administración de configuración basada en el portal y el escalado. Además de esto, con la API de administración de trabajos, se puede utilizar la API REST o el portal de Azure para la administración de trabajos. |
APIs REST | Los clústeres de Flink en HDInsight en AKS incluyen API de administración de trabajos, un método de envío de trabajos Flink basado en la API REST para enviar y supervisar trabajos de forma remota en Azure Portal. |
Tipo de implementación | Flink puede ejecutar aplicaciones en modo de sesión o modo de aplicación. Actualmente HDInsight en AKS solo admite clústeres de sesión. Puede ejecutar varios trabajos de Flink en un clúster de sesión. El modo de app está en la hoja de ruta de HDInsight en clústeres de AKS |
Compatibilidad con Metastore | Los clústeres de Flink en HDInsight en AKS pueden admitir catálogos con metastore de Hive en formatos de archivo abiertos diferentes, con puntos de comprobación remotos a Azure Data Lake Storage Gen2. |
Compatibilidad con Azure Storage | Los clústeres de Flink en HDInsight pueden usar Azure Data Lake Storage Gen2 como destino de archivos. Para más información sobre Data Lake Storage Gen2, consulte Azure Data Lake Storage Gen2. |
Integración con servicios de Azure | El clúster de Flink en HDInsight en AKS incluye una integración con Kafka junto con azure Event Hubs y Azure HDInsight. Puede compilar aplicaciones de streaming mediante Event Hubs o HDInsight. |
Adaptabilidad | HDInsight en AKS permite escalar los nodos del clúster de Flink según la programación con la característica escalabilidad automática. Consulte Escalado automático de Azure HDInsight en clústeres de AKS. |
Sistema de gestión de estado | HDInsight en AKS usa el de RocksDB como stateBackend predeterminado. RocksDB es un almacén de clave-valor persistente incrustable para el almacenamiento rápido. |
Puntos de control | La creación de puntos de comprobación está habilitada en HDInsight en clústeres de AKS de forma predeterminada. La configuración predeterminada en HDInsight en AKS mantiene los cinco últimos puntos de control en el almacenamiento persistente. En caso de que se produzca un error en el trabajo, el trabajo se puede reiniciar desde el punto de control más reciente. |
Puntos de control incrementales | RocksDB admite puntos de control incrementales. Recomendamos el uso de puntos de control incrementales para estados grandes; debe habilitar esta función manualmente. Al establecer un valor predeterminado en la flink-conf.yaml: state.backend.incremental: true se habilitan puntos de control incrementales, a menos que la aplicación invalide esta configuración en el código. Esta instrucción es verdadera de forma predeterminada. También puede configurar este valor directamente en el código (invalida el valor predeterminado de configuración) EmbeddedRocksDBStateBackend` backend = new `EmbeddedRocksDBStateBackend(true); . De forma predeterminada, se conservan los cinco últimos puntos de control en el directorio de puntos de control configurado. Este valor se puede cambiar cambiando la configuración de la sección de administración de configuración state.checkpoints.num-retained: 5 |
Los clústeres de Apache Flink en HDInsight en AKS incluyen los siguientes componentes, que están disponibles en los clústeres de forma predeterminada.
Consulte la hoja de ruta de sobre lo que llegará pronto.
Administración de trabajos de Apache Flink
Flink programa trabajos con tres componentes distribuidos, administrador de trabajos, administrador de tareas y cliente de trabajos, que se establecen en un patrón de Leader-Follower.
Trabajo de Flink: Un trabajo o programa de Flink consta de varias tareas. Las tareas son la unidad básica de ejecución en Flink. Cada tarea de Flink tiene varias instancias en función del nivel de paralelismo y cada instancia se ejecuta en un TaskManager.
Administrador de trabajos: El administrador de trabajos actúa como planificador y asigna tareas a los administradores de tareas.
administrador de tareas: los administradores de tareas incluyen una o varias ranuras para ejecutar tareas en paralelo.
cliente de trabajos: el cliente de trabajos se comunica con el administrador de trabajos para enviar trabajos de Flink
Flink Web UI: Flink incluye una interfaz de usuario web para inspeccionar, supervisar y depurar aplicaciones en ejecución.
Referencia
- Sitio web de Apache Flink
- Apache, Apache Kafka, Kafka, Apache Flink, Flink y los nombres de proyectos asociados de código abierto son marcas comerciales de la Apache Software Foundation (ASF).