Comience a utilizar Amazon Managed Service para Apache Flink para Python - 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.

Comience a utilizar Amazon Managed Service para Apache Flink para Python

En esta sección, se presentan los conceptos fundamentales de un servicio gestionado para Apache Flink mediante Python y la tablaAPI. 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.

Revise los componentes de una aplicación de servicio gestionado para Apache Flink

nota

Amazon Managed Service for Apache Flink es compatible con todos los Apache APIs Flink. Dependiendo de API lo que elijas, la estructura de la aplicación es ligeramente diferente. Un enfoque popular al desarrollar una aplicación Apache Flink en Python es definir el flujo de la aplicación mediante código SQL integrado en Python. Este es el enfoque que seguimos en el siguiente tutorial de Gettgin Started.

Para procesar los datos, su aplicación Managed Service for Apache Flink utiliza un script de Python para definir el flujo de datos que procesa la entrada y produce la salida mediante el tiempo de ejecución de Apache Flink.

Una aplicación típica de servicio gestionado para Apache Flink 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 una transmisión de datos de Kinesis o un tema de AmazonMSK. También puede usar conectores especiales para generar datos desde la aplicación. Cuando se utilizaSQL, 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 utilizaSQL, la aplicación define las transformaciones como SQL consultas.

  • Sumideros: la aplicación envía los datos a fuentes externas a través de los sumideros. Un receptor utiliza un conector para enviar datos a un sistema externo, como una transmisión de datos de Kinesis, un MSK tema de Amazon, un bucket de Amazon S3 o una base de datos relacional. También puede utilizar un conector especial para imprimir la salida con fines de desarrollo. Cuando se utilizaSQL, la aplicación define los sumideros como tablas de sumideros en las que se insertan los resultados. Para obtener más información, consulte Escribe datos mediante receptores en Managed Service for Apache Flink.

Es posible que tu aplicación Python también requiera dependencias externas, como bibliotecas de Python adicionales o cualquier conector Flink que utilice tu aplicación. Al empaquetar la aplicación, debe incluir todas las dependencias que requiera la aplicación. 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 for Apache Flink.

Cumpla con los requisitos previos

Para completar este tutorial, debe tener lo siguiente:

  • Python 3.11, preferiblemente utilizando un entorno independiente como VirtualEnv (venv), Conda o Miniconda.

  • Cliente Git: instala el cliente Git si aún no lo has hecho.

  • Java Development Kit (JDK) versión 11: instala un Java JDK 11 y configura la variable de JAVA_HOME entorno para que apunte a tu ubicación de instalación. Si no tiene un JDK 11, puede utilizar Amazon Correttocualquier estándar JDK de nuestra elección.

    • Para comprobar que lo ha instalado JDK correctamente, ejecute el siguiente comando. El resultado será diferente si utiliza un dispositivo que no JDK 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, utilice el siguiente comando:

      $ mvn -version
nota

Aunque la aplicación está escrita en Python, Apache Flink se ejecuta en la máquina virtual Java (JVM). Distribuye la mayoría de las dependencias, como el conector de Kinesis, en forma de archivos. JAR Para administrar estas dependencias y empaquetar la aplicación en un ZIP archivo, utilice Apache Maven. En este tutorial se explica cómo hacerlo.

aviso

Le recomendamos que 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 motor 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, le recomendamos que cree un entorno independiente, como VirtualEnv Python 3.11.

IDEpara el desarrollo local

Le recomendamos que utilice un entorno de desarrollo como PyCharmVisual Studio Code para desarrollar y compilar la aplicación.

A continuación, complete los dos primeros pasos deComience a utilizar Amazon Managed Service para Apache Flink () DataStream API:

Para empezar, consulte Crear una aplicación.