Implemente como una aplicación con un estado duradero - 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.

Implemente como una aplicación con un estado duradero

Puede crear el código y exportarlo a Amazon S3. Puede convertir el código que escribió en su nota en una aplicación de procesamiento de flujo en funcionamiento continuo. Existen dos modos de ejecutar una aplicación de Apache Flink en Managed Service para Apache Flink: usando un cuaderno de Studio, puede desarrollar código de forma interactiva, ver los resultados del código en tiempo real y visualizarlos en la nota. Después de implementar una nota para que se ejecute en modo streaming, Managed Service para Apache Flink crea una aplicación para usted que se ejecuta de forma continua, lee los datos de sus fuentes, escribe en sus destinos, mantiene el estado de la aplicación de larga duración y se escala automáticamente en función del rendimiento de los flujos de origen.

nota

El bucket de S3 al que exporte el código de la aplicación debe estar en la misma región que el cuaderno de Studio.

Solo puede implementar una nota desde su cuaderno de Studio si cumple los siguientes requisitos:

  • Los párrafos deben ordenarse secuencialmente. Al implementar la aplicación, todos los párrafos de una nota se ejecutarán secuencialmente (left-to-right, top-to-bottom) tal como aparecen en la nota. Para comprobar este orden, seleccione Ejecutar todos los párrafos en la nota.

  • Su código es una combinación de Python SQL o Scala ySQL. No admitimos Python y Scala juntos en este momento. deploy-as-application

  • Su nota solo debe tener los siguientes intérpretes: %flink, %flink.ssql, %flink.pyflink, %flink.ipyflink, %md.

  • No se admite el uso del objeto z de contexto Zeppelin. Los métodos que no devuelven nada no harán nada excepto registrar una advertencia. Otros métodos generarán excepciones de Python o no se compilarán en Scala.

  • Una nota debe dar como resultado un único trabajo de Apache Flink.

  • Las notas con formularios dinámicos no se admiten para su implementación como una aplicación.

  • Los párrafos de %md (Markdown) se omitirán al implementar una aplicación, ya que se espera que contengan documentación legible por humanos que no es adecuada para ejecutarse como parte de la aplicación resultante.

  • Los párrafos que estén deshabilitados para ejecutarse en Zeppelin se omitirán al implementarse como una aplicación. Incluso si un párrafo desactivado utiliza un intérprete incompatible, por ejemplo, %flink.ipyflink en una nota con %flink and %flink.ssql intérpretes, se omitirá al implementar la nota como una aplicación y no se producirá ningún error.

  • Debe haber al menos un párrafo con el código fuente (Flink PyFlink o Flink SQL Scala) que esté habilitado para ejecutarse para que la aplicación se despliegue correctamente.

  • La configuración del paralelismo en la directiva del intérprete dentro de un párrafo (por ejemplo, %flink.ssql(parallelism=32)) no se tendrá en cuenta en las aplicaciones que se implementen a partir de una nota. En su lugar, puede actualizar la aplicación desplegada mediante o cambiar el AWS Management Console paralelismo AWS Command Line Interface o AWS API la ParallelismPer KPU configuración según el nivel de paralelismo que requiera la aplicación, o bien puede activar el escalado automático de la aplicación implementada.

  • Si va a realizar la implementación como una aplicación con un estado duradero, debe tener acceso a Internet. VPC Si VPC no tiene acceso a Internet, consulteImplemente como una aplicación con un estado duradero en un lugar VPC sin acceso a Internet.

Requisitos de Scala/Python

  • En tu código de Scala o Python, use el planificador Blink (senv, stenv para Scala; s_env, st_env para Python) y no el antiguo planificador “Flink” (stenv_2 para Scala, st_env_2 para Python). El proyecto Apache Flink recomienda el uso del planificador de Blink para los casos de uso de producción, que es el planificador predeterminado en Zeppelin y Flink.

  • Sus párrafos de Python no deben usar invocaciones ! o asignaciones de shell que utilicen comandos IPython mágicos como %timeit o %conda en notas destinadas a implementarse como aplicaciones.

  • No puede usar las clases de mayúsculas y minúsculas de Scala como parámetros de funciones que se pasan a operadores de flujo de datos de orden superior, como map y filter. Para obtener información sobre las clases de casos de Scala, consulte CASECLASSESla documentación de Scala.

SQLcriterios

  • No se permiten SELECT declaraciones simples, ya que no hay ningún lugar equivalente a la sección de salida de un párrafo en el que se puedan entregar los datos.

  • En cualquier párrafo dado, DDL las declaraciones (USE,CREATE,ALTER, DROPSET,RESET) deben preceder a las declaraciones DML (INSERT). Esto se debe a que DML las declaraciones de un párrafo deben enviarse juntas como un solo trabajo de Flink.

  • Debe haber como máximo un párrafo que contenga DML declaraciones. Esto se debe a que, para esta deploy-as-application función, solo admitimos el envío de un único trabajo a Flink.

Para obtener más información y un ejemplo, consulte Traducir, redactar y analizar datos de streaming mediante SQL las funciones de Amazon Managed Service para Apache Flink, Amazon Translate y Amazon Comprehend.