Amazon Managed Service para Apache Flink 1.19 - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

Amazon Managed Service para Apache Flink 1.19

Managed Service para Apache Flink ahora es compatible con Apache Flink 1.19.1. Esta sección presenta una introducción a las nuevas características y cambios clave introducidos con Managed Service para Apache Flink 1.19.1.

nota

Si se utiliza una versión anterior compatible de Apache Flink y desea actualizar sus aplicaciones actuales a Apache Flink 1.19.1, se puede hacer mediante las actualizaciones de versión integradas de Apache Flink. Para obtener más información, consulte Uso de actualizaciones de versión locales para Apache Flink. Con las actualizaciones de versión locales, se retiene la trazabilidad de las aplicaciones con respecto a un único ARN en todas las versiones de Apache Flink, incluidas las instantáneas, los registros, las métricas, las etiquetas, las configuraciones de Flink y más.

Apache Flink 1.19.1 introduce mejoras en la API de SQL, como parámetros con nombre, paralelismo de fuentes personalizado y distintos TTL de estado para varios operadores de Flink.

Características compatibles y documentación relacionada
Características admitidas Descripción Referencia de la documentación de Apache Flink
API de SQL: compatibilidad que configura TTL de diferentes estados mediante SQL Hint Los usuarios ahora pueden configurar el TTL de estado en las uniones regulares de transmisiones y en agregación de grupos. FLIP-373: Configuring Different State TTLs using SQL Hint
API de SQL: compatibilidad de parámetros con nombre para funciones y procedimientos de llamada Los usuarios ahora pueden usar parámetros con nombre en las funciones, en lugar de confiar en el orden de los parámetros. FLIP-378: Support named parameters for functions and call procedures
API de SQL: configuración del paralelismo para orígenes de SQL Los usuarios ahora pueden especificar el paralelismo para orígenes de SQL. FLIP-367: Support Setting Parallelism for Table/SQL Sources
API de SQL: compatibilidad con ventana TVF de sesión Los usuarios ahora pueden usar las funciones con valores de tabla del periodo de sesión. FLINK-24024: Support session Window TVF
API de SQL: agregación de ventana TVF compatible con entradas de registro de cambios Los usuarios ahora pueden realizar la agregación de ventanas en las entradas del registro de cambios. FLINK-20281: Window aggregation supports changelog stream input

Compatibilidad con Python 3.11

Flink ahora es compatible con Python 3.11, que es entre un 10 % y un 60 % más rápido en comparación con Python 3.10. Para obtener más información, consulte Qué hay de nuevo en Python 3.11. FLINK-33030: Add python 3.11 support
Proporcione métricas para el receptor TwoPhaseCommitting Los usuarios pueden ver las estadísticas sobre el estado de los receptores de confirmaciones en dos fases. FLIP-371: Provide initialization context for Committer creation in TwoPhaseCommittingSink

Rastreo de generadores para reiniciar el trabajo y establecer puntos de control

Los usuarios ahora pueden monitorear los rastreos relacionados con la duración de los puntos de control y las tendencias de recuperación. En Amazon Managed Service para Apache Flink, habilitamos los generadores de rastreo SLF4j de forma predeterminada, para que los usuarios puedan monitorear los rastreos de puntos de control y trabajos a través de la aplicación de registros de CloudWatch. FLIP-384: Introduce TraceReporter and use it to create checkpointing and recovery traces
nota

Se puede optar por las siguientes funciones al enviar un caso de soporte:

Características registradas y documentación relacionada
Características de suscripción Descripción Referencia de la documentación de Apache Flink
Compatibilidad con un intervalo de puntos de control mayor cuando la fuente está procesando el trabajo atrasado Se trata de una característica opcional, ya que los usuarios deben afinar la configuración a los requisitos específicos de su trabajo. FLIP-309: Support using larger checkpointing interval when source is processing backlog
Redirija System.out y System.err a los registros de Java Esta es una característica opcional. En Amazon Managed Service para Apache Flink, el comportamiento predeterminado es ignorar la salida de System.out y System.err, ya que la mejor práctica en producción es el uso del registrador Java nativo. FLIP-390: Support System out and err to be redirected to LOG or discarded

Para ver la documentación de la versión 1.19.1 de Apache Flink, consulte la documentación de Apache Flink, versión 1.19.1.

Registro de generador de rastreo está activado de forma predeterminada

Apache Flink 1.19.1 introdujo los rastreos de puntos de puntos de control y recuperación, lo que permitió a los usuarios depurar mejor los problemas relacionados con los puntos de control y la recuperación de tareas. En Amazon Managed Service para Apache Flink, estos rastreos se registran en el flujo de registro de CloudWatch, lo que permite a los usuarios desglosar el tiempo dedicado a la inicialización del trabajo y registrar el tamaño histórico de los puntos de control.

La estrategia de reinicio predeterminada ahora es el retraso exponencial

En Apache Flink 1.19.1, hay mejoras significativas en la estrategia de reinicio con retraso exponencial. En Amazon Managed Service para Apache Flink a partir de la versión 1.19.1, los trabajos de Flink usan la estrategia de reinicio con retraso exponencial de forma predeterminada. Esto significa que los trabajos de los usuarios se recuperarán más rápido de los errores transitorios, pero no sobrecargarán los sistemas externos si persisten los reinicios.

Correcciones de errores adaptados

Amazon Managed Service para Apache Flink adapta correcciones de la comunidad de Flink para problemas críticos. Esto significa que el tiempo de ejecución es diferente al de la versión 1.19.1 de Apache Flink. La siguiente es una lista de las correcciones de errores que hemos adaptado:

Correcciones de errores adaptados
Enlace de JIRA de Apache Flink Descripción
FLINK-35531 Esta solución corrige la regresión del rendimiento introducida en la versión 1.17.0, que provoca escrituras más lentas en HDFS.
FLINK-35157 Esta solución corrige el problema de los trabajos de Flink atascados cuando las fuentes con marcas de agua alineadas encuentran subtareas finalizadas.
FLINK-34252 Esta solución corrige un problema en la generación de marcas de agua que provoca un estado de marca de agua INACTIVO erróneo.
FLINK-34252 Esta solución corrige la regresión del rendimiento durante la generación de marcas de agua al reducir las llamadas al sistema.
FLINK-33936 Esta solución corrige el problema de los registros duplicados durante la agregación de minilotes en la API de tablas.
FLINK-35498 Esta solución corrige el problema de los conflictos de nombres de argumentos al definir parámetros con nombre en las UDF de la API de tablas.
FLINK-33192 Esta solución corrige el problema de una pérdida de memoria de estado en los operadores de ventanas debido a una limpieza incorrecta del temporizador.
FLINK-35069 Esta solución corrige el problema que se produce cuando una tarea de Flink se atasca y se activa un temporizador al final de una ventana.
FLINK-35832 Esta solución corrige el problema que se producía cuando IFNULL devolvía resultados incorrectos.
FLINK-35886 Esta solución corrige el problema que se producía cuando las tareas con contrapresión se consideran inactivas.
Componente Versión
Java 11 (recomendado)
Python

3.11

El tiempo de ejecución de Flink de Kinesis Data Analytics (aws-kinesisanalytics-runtime) 1.2.0
Connectors Para obtener información sobre los conectores disponibles, consulte los conectores de Apache Flink.
Apache Beam (solo aplicaciones Beam)

A partir de la versión 2.61.0. Para obtener más información, consulte Compatibilidad de versiones de Flink.

Amazon Managed Service para Apache Flink Studio

Studio utiliza los cuadernos de Apache Zeppelin para ofrecer una experiencia de desarrollo de interfaz única para desarrollar, depurar código y ejecutar aplicaciones de procesamiento de flujos de Apache Flink. Se requiere una actualización del intérprete Flink de Zeppelin para permitir la compatibilidad con Flink 1.19. Este trabajo está programado con la comunidad de Zeppelin y actualizaremos estas notas cuando esté finalizado. Se puede seguir utilizando Flink 1.15 con Amazon Managed Service para Apache Flink Studio. Para obtener más información, consulte Creación de un cuaderno de Studio.