Las sugerencias de Flink SQL le permiten influir manualmente en la generación del plan de ejecución a nivel de consulta, sin modificar las definiciones de tabla ni la configuración de despliegue. Utilice sugerencias cuando las decisiones predeterminadas del optimizador no se ajusten a los requisitos de rendimiento o recursos de su carga de trabajo.
Hay tres categorías de sugerencias disponibles, todas aplicables a trabajos de streaming:
|
Tipo de sugerencia |
Aplicable a |
Versión mínima |
|
Opciones de tabla dinámica |
Streaming |
VVR 4.x |
|
Sugerencias de lookup join |
Streaming |
— |
|
Sugerencias de TTL de estado |
Streaming |
VVR 8.0.7 (agregación por grupo); VVR 8.0.1 (join regular) |
Para consultar la especificación completa de la sintaxis de sugerencias, consulte SQL hints.
Opciones de tabla dinámica
Las opciones de tabla dinámica le permiten especificar o anular las opciones de conector y formato dentro del alcance de una sola consulta, sin cambiar la definición subyacente de la tabla.
Para ver ejemplos de sintaxis y uso, consulte Dynamic table options.
Sugerencias de lookup join
Las sugerencias de lookup join controlan la estrategia de ejecución de búsqueda, el modo asíncrono, el almacenamiento en caché y el comportamiento de reintentos para joins de tablas de dimensiones.
Para consultar la sintaxis, las opciones disponibles y ejemplos, consulte JOIN hints for dimension tables.
Sugerencias de TTL de estado
Las sugerencias de tiempo de vida (TTL) de estado le permiten establecer distintos valores de TTL para operadores individuales con estado dentro de una misma consulta. Esto reduce el tamaño del estado por operador y mejora la estabilidad del sistema.
Las sugerencias de TTL de estado se aplican a dos tipos de operadores:
|
Operador |
VVR 8.0.7 y posteriores |
VVR 8.0.6 y anteriores |
|
Join regular |
Sugerencias de TTL de estado + hints for regular join |
Solo sugerencias para join regular |
|
Agregación por grupo |
Sugerencias de TTL de estado |
No compatible |
Configure el TTL de estado
Existen tres métodos para configurar el TTL de estado, los cuales surten efecto en el siguiente orden de prioridad:
Expert mode > Sugerencias de TTL de estado > Parámetro de despliegue
|
Método |
Alcance |
Cómo configurar |
|
Expert mode |
Por operador, en varios despliegues |
Consulte Configure operator parallelism, chaining policy, and state TTL |
|
Sugerencias de TTL de estado |
Por operador, dentro de una consulta |
Sugerencia en línea |
|
Parámetro de despliegue |
Todo el despliegue |
Establezca |
Utilice sugerencias de TTL de estado cuando necesite controlar el TTL a nivel de consulta sin modificar la configuración de despliegue. Use Expert mode cuando la misma configuración por operador deba aplicarse en varios despliegues.