Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.
Introducción a Amazon Managed Service para Apache Flink para Python
Esta sección presenta una introducción a los conceptos fundamentales de un Managed Service para Apache Flink utilizando Python y la API de tabla. Describe las opciones disponibles para crear y probar sus aplicaciones. También proporciona instrucciones para instalar las herramientas necesarias para completar los tutoriales de esta guía y crear su primera aplicación.
Temas
Revisión de los componentes de una aplicación de Managed Service para Apache Flink
nota
Amazon Managed Service para Apache Flink Studio ahora es compatible con todas las API de Apache Flink
Para procesar los datos, su aplicación de Managed Service para Apache Flink utiliza un script de Python que define el flujo de datos que procesa las entradas y produce las salidas mediante el tiempo de ejecución de Apache Flink.
Una aplicación de Managed Service para Apache Flink típica tiene los siguientes componentes:
-
Propiedades de tiempo de ejecución: puede usar las propiedades de tiempo de ejecución para configurar su aplicación sin tener que volver a compilar el código de la aplicación.
-
Fuentes: la aplicación consume datos de una o más fuentes. Una fuente utiliza un conector
para leer datos de un sistema externo, como un flujo de datos de Kinesis o un tema de Amazon MSK. También se pueden utilizar conectores especiales para generar datos desde la aplicación. Cuando se utiliza SQL, la aplicación define las fuentes como tablas de fuentes. -
Transformaciones: la aplicación procesa los datos mediante una o más transformaciones que pueden filtrar, enriquecer o agregar datos. Cuando se utiliza SQL, la aplicación define las transformaciones como consultas SQL.
-
Receptores: la aplicación envía los datos a fuentes externas a través de los receptores. Un receptor utiliza un conector
para enviar datos a un sistema externo, como un flujo de datos de Kinesis, un flujo de datos de Kinesis, un bucket de Amazon S3 o una base de datos relacional. También se puede utilizar un conector especial para imprimir la salida con fines de desarrollo. Cuando se utiliza SQL, la aplicación define los receptores como tablas de destino en las que se insertan los resultados. Para obtener más información, consulte Escritura de datos mediante receptores en Managed Service para Apache Flink.
Es posible que su aplicación Python también requiera dependencias externas, como bibliotecas de Python adicionales o cualquier conector Flink que utilice su aplicación. Al empaquetar la aplicación, se deben incluir todas las dependencias que esta requiera. En este tutorial se muestra cómo incluir las dependencias de los conectores y cómo empaquetar la aplicación para su implementación en Amazon Managed Service para Apache Flink.
Cumplimiento con los requisitos previos
Para completar este tutorial, necesita tener lo siguiente:
-
Python 3.11, preferiblemente con un entorno independiente como VirtualEnv (venv)
, Conda o Miniconda . -
Cliente Git
: si aún no lo ha hecho, instale el cliente Git. -
Kit de desarrollo de Java (JDK) versión 11
: instale un Java JDK 11 y configure la variable de entorno JAVA_HOMEpara que apunte a su ubicación de instalación. Si no tiene un JDK 11, puede utilizar Amazon Corretto o cualquier JDK estándar de nuestra elección.-
Para verificar que el JDK se haya instalado correctamente, ejecute el siguiente comando. El resultado será diferente si utiliza un JDK que no sea Amazon Corretto 11. Asegúrese de que la versión sea 11.x.
$ java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment Corretto-11.0.23.9.1 (build 11.0.23+9-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.23.9.1 (build 11.0.23+9-LTS, mixed mode)
-
-
Apache Maven
: instale Apache Maven si aún no lo ha hecho. Para obtener más información, consulte Instalación de Apache Maven . -
Para probar la instalación de Apache Maven, use el siguiente comando:
$ mvn -version
-
nota
Aunque su aplicación está escrita en Python, Apache Flink se ejecuta en la máquina virtual de Java (JVM). Distribuye la mayoría de las dependencias, como el conector de Kinesis, como archivos JAR. Para administrar estas dependencias y empaquetar la aplicación en un archivo ZIP, utilice Apache Maven
aviso
Se recomienda que se utilice Python 3.11 para el desarrollo local. Se trata de la misma versión de Python que utiliza Amazon Managed Service para Apache Flink con el tiempo de ejecución de Flink 1.19.
La instalación de la biblioteca Python Flink 1.19 en Python 3.12 podría fallar.
Si tiene otra versión de Python instalada de forma predeterminada en su máquina, se recomienda que cree un entorno independiente como VirtualEnv con Python 3.11.
IDE para desarrollo local
Se recomienda que utilice un entorno de desarrollo como PyCharm
A continuación, complete los dos primeros pasos de Introducción a Amazon Managed Service para Apache Flink (API de DataStream):
Para empezar, consulte Crear una aplicación.