Recursos de aplicaciones - Managed Service para Apache Flink

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

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Recursos de aplicaciones

En esta sección se describen los recursos del sistema que utiliza la aplicación. Comprender cómo Managed Service for Apache Flink aprovisiona y utiliza los recursos le ayudará a diseñar, crear y mantener una aplicación Managed Service para Apache Flink estable y de alto rendimiento.

Servicio gestionado para recursos de aplicaciones de Apache Flink

El servicio gestionado para Apache Flink es un AWS servicio que crea un entorno para alojar su aplicación Apache Flink. El servicio Managed Service para Apache Flink proporciona recursos mediante unidades denominadas Unidades de procesamiento de Kinesis (KPU).

Una KPU representa los siguientes recursos del sistema:

  • Un núcleo de CPU

  • 4 GB de memoria, de los cuales un GB es memoria nativa y tres GB son memoria de pila

  • 50 GB de espacio en disco

Las KPUs ejecutan las aplicaciones en distintas unidades de ejecución denominadas tareas y subtareas. Puede pensar en una subtarea como el equivalente a un hilo.

El número de KPU disponibles para una aplicación es igual a la configuración Parallelism de la aplicación dividida por la configuración ParallelismPerKPU de la aplicación.

Para obtener más información acerca del paralelismo de las aplicaciones, consulte Escalado.

El entorno Apache Flink asigna los recursos a su aplicación mediante unidades denominadas ranuras de tareas. Cuando Managed Service para Apache Flink asigna recursos a su aplicación, asigna uno o más ranuras de tareas de Apache Flink a una sola KPU. La cantidad de ranuras asignadas a una sola KPU es igual a la configuración de su aplicación ParallelismPerKPU. Para obtener más información sobre los espacios de tareas, consulte Job Scheduling en la documentación de Apache Flink.

Puede establecer el número máximo de subtareas que puede utilizar un operador. Este valor se denomina Paralelismo del operador. De forma predeterminada, el paralelismo de cada operador de su aplicación es igual al paralelismo de la aplicación. Esto significa que, de forma predeterminada, cada operador de su aplicación puede usar todas las subtareas disponibles en la aplicación si es necesario.

Puede establecer el paralelismo de los operadores de su aplicación mediante el método setParallelism. Con este método, puede controlar la cantidad de subtareas que cada operador puede usar a la vez.

Para obtener más información sobre los operadores, consulte Operadores en la documentación de Apache Flink.

Normalmente, cada operador utiliza una subtarea independiente para ejecutar, pero si varios operadores se ejecutan siempre en secuencia, el tiempo de ejecución puede asignarlos todos a la misma tarea. Este proceso se denomina Encadenamiento de operadores.

Se pueden encadenar varios operadores secuenciales en una sola tarea si todos funcionan con los mismos datos. A continuación se muestran algunos requisitos necesarios para que esto sea cierto:

  • Los operadores realizan un enrutamiento sencillo de uno a uno.

  • Todos los operadores tienen el mismo paralelismo de operadores.

Cuando su aplicación encadena a los operadores en una sola subtarea, conserva los recursos del sistema, ya que el servicio no necesita realizar operaciones de red ni asignar subtareas a cada operador. Para determinar si su aplicación utiliza el encadenamiento de operadores, consulte el gráfico de trabajo de la consola de Managed Service para Apache Flink. Cada vértice de la aplicación representa uno o más operadores. El gráfico muestra los operadores que se han encadenado como un solo vértice.