Este documento describe las principales actualizaciones de funciones y correcciones de bugs para la versión de Realtime Compute for Apache Flink publicada el 29 de mayo de 2024.
Esta actualización se implementará por etapas en todas las regiones mediante una estrategia de canary release. Para consultar el calendario específico de actualización, revise el anuncio más reciente en el lado derecho de la consola de Realtime Compute for Apache Flink. Si las nuevas funciones no están disponibles, significa que la actualización aún no ha llegado a su cuenta. Si requiere una actualización acelerada, envíe un ticket y organizaremos el proceso según sus necesidades.
Descripción general
El 29 de mayo de 2024 se publicó oficialmente una nueva versión de Realtime Compute for Apache Flink. Esta versión incluye actualizaciones de plataforma, del motor y de conectores, además de optimizaciones de rendimiento y correcciones de bugs.
Actualizaciones de la plataforma
Las actualizaciones de la plataforma en esta versión se centran en mejorar la estabilidad del sistema, las capacidades operativas y la usabilidad.
Ahora puede convertir un namespace de una sola zona de disponibilidad a multizona. Esto elimina la necesidad de crear un nuevo namespace y migrar despliegues, lo que simplifica significativamente la habilitación de la alta disponibilidad entre zonas.
Ahora puede configurar el tiempo de vida (TTL) del estado para operadores individuales en el modo experto de configuración de recursos. Esto permite un control más granular sobre el TTL del estado de distintos operadores para lograr mayor estabilidad con menos recursos.
La extensión de Realtime Compute for Apache Flink para Visual Studio Code ya está disponible. Admite un flujo de trabajo de desarrollo local integral para despliegues de Flink, desde el desarrollo y el despliegue hasta la puesta en producción. También puede sincronizar rápidamente los despliegues desde su entorno en línea.
Además, se optimizaron el linaje de datos y la página Deployments.
Actualizaciones del motor
Esta versión introduce oficialmente Ververica Runtime (VVR) 8.0.7, un motor Flink de nivel empresarial basado en Apache Flink 1.17.2. Los cambios clave incluyen:
Lakehouse en tiempo real: El SDK del conector de Apache Paimon se actualizó para admitir el formato de lago de datos de Apache Paimon 0.9.
Mejoras de SQL: Ahora puede usar sugerencias de tiempo de vida (TTL) del estado para establecer TTL individuales para operadores de join regular y agregación de grupo, lo que proporciona un control más preciso sobre el tamaño del estado. La compatibilidad con parámetros con nombre para funciones definidas por el usuario (UDF) mejora la eficiencia del desarrollo y reduce los costos de mantenimiento.
-
Conectores: El conector de MongoDB ahora tiene disponibilidad general (GA) y está listo para uso en producción. Proporciona capacidades completas para tablas de origen de Change Data Capture (CDC), tablas de dimensiones y tablas de resultados . Esta versión también incluye mejoras significativas para los conectores de MySQL CDC y Redis:
-
MySQL CDC:
Ahora se admite la columna virtual
op_typepara recuperar el tipo de operación de datos (+I, +/-U, -D) de un registro de cambios. Esto le permite diseñar lógica de negocio y estrategias de limpieza de datos basadas en el tipo de operación específico.Se optimizó el rendimiento de lectura para tablas MySQL con claves primarias de tipo
DECIMAL. Además, el procesamiento deSourceRecord(registros de cambio de datos) en tablas grandes ahora se paraleliza para mejorar la eficiencia.Se introduce la función de reutilización de origen. Cuando está habilitada, Flink intenta fusionar tablas de origen de MySQL CDC dentro del mismo despliegue que comparten configuraciones idénticas (excepto por el nombre de la base de datos, el nombre de la tabla y
server-id). Esto reduce la carga de conexión y escucha en el servidor MySQL.Cuando el parámetro
sink.ignore-null-when-updateestá habilitado, la ejecución en búfer mejora el rendimiento de procesamiento varias veces.
Redis: Cuando Redis se utiliza para tablas de dimensiones y tablas de resultados where el tipo de datos de la clave es
HashMap, ahora se admiten múltiples formatos DDL para claves no primarias para mejorar la legibilidad. También puede establecer prefijos de clave y delimitadores para cumplir con los requisitos de gobernanza de datos.
-
Gestión de metadatos: Dado que una vista de MySQL es una estructura lógica que no admite operaciones de lectura/escritura de datos, la información de las vistas ya no se muestra para los catálogos de MySQL recién creados, con el fin de prevenir errores de datos.
Seguridad: La compatibilidad para clústeres de Hive con Kerberos habilitado se extiende a las versiones de Hadoop 2.x. Además, la información sensible, como las configuraciones de conectores, ahora se oculta en los registros.
-
En la columna Creator, puede filtrar por I created it para ver todos los despliegues que creó en el namespace actual.
-
En el cuadro de búsqueda encima de la lista de despliegues, puede seleccionar Creator, introducir un nombre de usuario y encontrar todos los despliegues creados por ese usuario.
-
Configúrelo en el modo experto de configuración de recursos en la página Deployments.
Nota-
Compatible solo con Ververica Runtime (VVR) 8.0.7 y versiones posteriores.
-
Compatible solo para despliegues SQL cuando se utiliza el modo de configuración de recursos experto (granular).
-
-
Use sugerencias de tiempo de vida (TTL) del estado para establecer TTL para operadores de join regular y agregación de grupo.
-
Se admite la columna virtual
op_typepara recuperar tipos de operación de datos. -
Se optimizó el rendimiento de lectura para tablas MySQL con claves primarias de tipo
DECIMAL. También se implementó el procesamiento paralelo deSourceRecordpara tablas grandes. -
Ahora se admite la reutilización de origen CDC.
-
Se realiza ejecución en búfer cuando el parámetro
sink.ignore-null-when-updateestá habilitado. -
Cuando Redis se utiliza como tabla de dimensiones o de resultados where el tipo de datos de la clave es
HashMap, se admiten múltiples formatos DDL para claves no primarias para mejorar la legibilidad. -
Ahora puede establecer prefijos de clave y delimitadores para cumplir con los requisitos de gobernanza de datos.
Se corrigió un problema de integridad de datos causado por el pushdown de la cláusula
WHEREen el conector de Hologres en las versiones 8.0.5 y 8.0.6 de Ververica Runtime (VVR).Se corrigió un problema de pérdida de datos en el conector de Simple Log Service (SLS) que ocurría durante un failover porque la tabla de origen SLS continuaba confirmando datos en el desplazamiento del consumidor.
Se corrigió un problema donde
ValueStateperdía su estado cuando se usaba junto con unMapStateque tenía un TTL configurado, mientras que el propioValueStateno lo tenía.Se corrigieron resultados de deserialización inconsistentes para
WithinType.PREVIOUS_AND_CURRENTen el procesamiento de eventos complejos dinámicos (CEP).Se corrigió una discrepancia en la métrica
currentEmitEventTimeLagentre la página de monitoreo de la consola y la interfaz de usuario de Flink.Se corrigieron todos los problemas de Apache Flink 1.17.2. Para obtener más detalles, consulte el Anuncio de la versión Apache Flink 1.17.2.
Para obtener más detalles sobre las funciones principales de esta versión y su documentación relacionada, consulte la tabla a continuación. La actualización se implementará por etapas. Una vez que la actualización se complete para su cuenta, le recomendamos actualizar el motor de su despliegue a esta versión. Para obtener instrucciones, consulte Upgrade the engine version for a deployment. Esperamos sus comentarios.
Funciones clave
|
Función |
Descripción |
Referencias |
|
Mejoras de alta disponibilidad entre zonas |
Ahora puede cambiar un namespace entre tipos de zona de disponibilidad única y multizona. |
|
|
Mejoras en el linaje de datos |
El linaje de datos a nivel de campo ahora admite búsquedas por nombre de campo. Cuando se encuentran varios resultados, puede usar las teclas de flecha Arriba y Abajo para alternar entre ellos, lo que facilita la ubicación y visualización de la información de linaje de campos. |
|
|
Columna Creator agregada a la página Deployments |
En la página Deployments, puede hacer clic en el icono |
N/A |
|
Mejoras en la gestión de permisos |
De forma predeterminada, la identidad (como una cuenta de Alibaba Cloud, un usuario RAM o un rol RAM) que crea un espacio de trabajo recibe el rol Owner para todos los namespaces dentro de este. |
|
|
Mejoras en la comprobación de compatibilidad de estado para el inicio con estado de despliegues SQL |
Cuando inicia un despliegue from el estado más reciente, el sistema Flink detecta cualquier cambio. Si se detectan cambios, le recomendamos hacer clic en Click to detect junto a State Compatibility para comprobar la compatibilidad y decidir su siguiente acción según los resultados. |
|
|
Extensión de VS Code para desarrollo local |
La nueva extensión proporciona un flujo de trabajo de desarrollo local integral para despliegues de Flink. Le ayuda a desarrollar, desplegar e iniciar fácilmente despliegues SQL, JAR y Python de forma local. También puede sincronizar rápidamente los despliegues desde el entorno en línea. |
|
|
TTL de estado a nivel de operador |
En escenarios where solo algunos operadores requieren un tiempo de vida (TTL) de estado prolongado, establecer un único TTL para todo el despliegue puede provocar un crecimiento excesivo del estado y desperdicio de recursos. Ahora puede usar cualquiera de los siguientes métodos para establecer TTL a nivel de operador, con el fin de controlar con mayor precisión el tamaño del estado y ahorrar recursos en despliegues con estados grandes: |
|
|
Compatibilidad con parámetros con nombre para UDF |
Mejora la eficiencia del desarrollo y reduce los costos de mantenimiento. |
|
|
Mejoras en el conector MySQL CDC |
|
|
|
Mejoras en el conector Redis |
|
|
|
Lectura en búfer para ApsaraMQ for RocketMQ |
Esta función mejora la eficiencia de procesamiento y reduce los costos de recursos. |
|
|
Vistas ya no compatibles en catálogos de MySQL |
Dado que una vista de MySQL es una estructura lógica y no almacena datos, la información de las vistas ya no se muestra para los catálogos de MySQL recién creados. |
|
|
Compatibilidad mejorada para clústeres de Hive con Kerberos |
La compatibilidad para clústeres de Hive con Kerberos habilitado se extiende a Hadoop 2.x. |
|
|
SDK del conector Iceberg actualizado |
Admite lectura y escritura en Apache Iceberg 1.5. |