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 shellque 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
yfilter
. 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
,DROP
SET
,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