Comece a usar o Amazon Managed Service para Apache Flink para Python - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink era conhecido como Amazon Kinesis Data Analytics for Apache Flink.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Comece a usar o Amazon Managed Service para Apache Flink para Python

Esta seção apresenta os conceitos fundamentais de um serviço gerenciado para Apache Flink usando Python e a tabela. API Ela descreve as opções disponíveis para criar e testar seus aplicativos. Ela também fornece instruções para instalar as ferramentas necessárias para concluir os tutoriais deste guia e criar seu primeiro aplicativo.

Analise os componentes de um serviço gerenciado para o aplicativo Apache Flink

nota

O Amazon Managed Service para Apache Flink oferece suporte a todos os Apache Flink. APIs Dependendo do API que você escolher, a estrutura do aplicativo é um pouco diferente. Uma abordagem popular ao desenvolver um aplicativo Apache Flink em Python é definir o fluxo do aplicativo usando código incorporado SQL em Python. Essa é a abordagem que seguimos no tutorial de introdução a seguir.

Para processar dados, seu aplicativo Managed Service for Apache Flink usa um script Python para definir o fluxo de dados que processa a entrada e produz a saída usando o tempo de execução do Apache Flink.

Um aplicativo típico do Managed Service for Apache Flink tem os seguintes componentes:

  • Propriedades de runtime: você pode usar as propriedades de runtime para configurar seu aplicativo sem recompilar o código do aplicativo.

  • Fontes: o aplicativo consome dados de uma ou mais fontes. Uma fonte usa um conector para ler dados de um sistema externo, como um stream de dados do Kinesis ou um tópico da AmazonMSK. Você também pode usar conectores especiais para gerar dados de dentro do aplicativo. Quando você usaSQL, o aplicativo define fontes como tabelas de origem.

  • Transformações: o aplicativo processa dados usando uma ou mais transformações que podem filtrar, enriquecer ou agregar dados. Quando você usaSQL, o aplicativo define transformações como SQL consultas.

  • Coletores: o aplicativo envia dados para fontes externas por meio de coletores. Um coletor usa um conector para enviar dados para um sistema externo, como um stream de dados do Kinesis, um MSK tópico da Amazon, um bucket do Amazon S3 ou um banco de dados relacional. Você também pode usar um conector especial para imprimir a saída para fins de desenvolvimento. Quando você usaSQL, o aplicativo define coletores como tabelas de coletores nas quais você insere resultados. Para obter mais informações, consulte Grave dados usando coletores no Managed Service for Apache Flink.

Seu aplicativo Python também pode exigir dependências externas, como bibliotecas Python adicionais ou qualquer conector Flink que seu aplicativo use. Ao empacotar seu aplicativo, você deve incluir todas as dependências que seu aplicativo exige. Este tutorial demonstra como incluir dependências de conectores e como empacotar o aplicativo para implantação no Amazon Managed Service para Apache Flink.

Cumpra os pré-requisitos

Para concluir este tutorial, você deve ter o seguinte:

  • Python 3.11 , de preferência usando um ambiente autônomo como VirtualEnv (venv), Conda ou Miniconda.

  • Cliente Git - instale o cliente Git, caso ainda não tenha feito isso.

  • Java Development Kit (JDK) versão 11 - instale um Java JDK 11 e defina a variável de JAVA_HOME ambiente para apontar para seu local de instalação. Se você não tem um JDK 11, você pode usar Amazon Correttoou qualquer padrão JDK de nossa escolha.

    • Para verificar se você instalou JDK corretamente, execute o comando a seguir. A saída será diferente se você estiver usando um que não JDK seja o Amazon Corretto 11. Verifique se a versão é 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 o Apache Maven se você ainda não tiver feito isso. Para obter mais informações, consulte Instalando o Apache Maven.

    • Para testar sua instalação do Apache Maven, use o seguinte comando:

      $ mvn -version
nota

Embora seu aplicativo seja escrito em Python, o Apache Flink é executado na Java Virtual Machine (). JVM Ele distribui a maioria das dependências, como o conector Kinesis, como arquivos. JAR Para gerenciar essas dependências e empacotar o aplicativo em um ZIP arquivo, use o Apache Maven. Este tutorial explica como fazer isso.

Atenção

Recomendamos que você use o Python 3.11 para desenvolvimento local. Essa é a mesma versão do Python usada pelo Amazon Managed Service para Apache Flink com o tempo de execução do Flink 1.19.

A instalação da biblioteca Python Flink 1.19 no Python 3.12 pode falhar.

Se você tiver outra versão do Python instalada por padrão em sua máquina, recomendamos que você crie um ambiente independente, como o uso do VirtualEnv Python 3.11.

IDEpara o desenvolvimento local

Recomendamos que você use um ambiente de desenvolvimento como PyCharmo Visual Studio Code para desenvolver e compilar seu aplicativo.

Em seguida, conclua as duas primeiras etapas doComece a usar o Amazon Managed Service para Apache Flink () DataStream API:

Para começar, consulte o Cria uma aplicação.