Inizia a usare Amazon Managed Service per Apache Flink for Python - Servizio gestito per Apache Flink

Il servizio gestito da Amazon per Apache Flink era precedentemente noto come Analisi dei dati Amazon Kinesis per Apache Flink.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inizia a usare Amazon Managed Service per Apache Flink for Python

Questa sezione presenta i concetti fondamentali di un servizio gestito per Apache Flink utilizzando Python e la tabella. API Descrive le opzioni disponibili per la creazione e il test delle applicazioni. Fornisce inoltre istruzioni per l'installazione degli strumenti necessari per completare i tutorial di questa guida e creare la tua prima applicazione.

Esamina i componenti di un'applicazione Managed Service for Apache Flink

Nota

Amazon Managed Service per Apache Flink supporta tutti gli Apache Flink. APIs A seconda della API scelta, la struttura dell'applicazione è leggermente diversa. Un approccio popolare nello sviluppo di un'applicazione Apache Flink in Python consiste nel definire il flusso dell'applicazione utilizzando codice Python SQL incorporato. Questo è l'approccio che seguiamo nel seguente tutorial Gettgin Started.

Per elaborare i dati, l'applicazione Managed Service for Apache Flink utilizza uno script Python per definire il flusso di dati che elabora l'input e produce l'output utilizzando il runtime Apache Flink.

Una tipica applicazione Managed Service for Apache Flink ha i seguenti componenti:

  • Proprietà di runtime: è possibile utilizzare le proprietà di runtime per configurare l'applicazione senza ricompilare il codice dell'applicazione.

  • Fonti: l'applicazione utilizza dati da una o più fonti. Una fonte utilizza un connettore per leggere i dati da un sistema esterno, ad esempio un flusso di dati Kinesis o un argomento AmazonMSK. Puoi anche utilizzare connettori speciali per generare dati dall'interno dell'applicazione. Quando si utilizzaSQL, l'applicazione definisce le fonti come tabelle di origine.

  • Trasformazioni: l'applicazione elabora i dati utilizzando una o più trasformazioni in grado di filtrare, arricchire o aggregare i dati. Quando si utilizzaSQL, l'applicazione definisce le trasformazioni come interrogazioni. SQL

  • Sinks: l'applicazione invia dati a fonti esterne tramite sink. Un sink utilizza un connettore per inviare dati a un sistema esterno come un flusso di dati Kinesis, un MSK argomento Amazon, un bucket Amazon S3 o un database relazionale. Puoi anche usare un connettore speciale per stampare l'output per scopi di sviluppo. Quando si utilizzaSQL, l'applicazione definisce i sink come tabelle sink in cui inserire i risultati. Per ulteriori informazioni, consulta Scrivi dati utilizzando i sinks in Managed Service for Apache Flink.

La tua applicazione Python potrebbe richiedere anche dipendenze esterne, come librerie Python aggiuntive o qualsiasi connettore Flink utilizzato dall'applicazione. Quando crei il pacchetto dell'applicazione, devi includere tutte le dipendenze richieste dall'applicazione. Questo tutorial dimostra come includere le dipendenze dei connettori e come impacchettare l'applicazione per la distribuzione su Amazon Managed Service for Apache Flink.

Soddisfa i prerequisiti

Per completare questo tutorial, devi avere quanto segue:

  • Python 3.11 , preferibilmente utilizzando un ambiente autonomo come VirtualEnv (venv), Conda o Miniconda.

  • Client Git: installa il client Git se non l'hai già fatto.

  • Java Development Kit (JDK) versione 11: installa un Java JDK 11 e imposta la variabile di JAVA_HOME ambiente in modo che punti alla posizione di installazione. Se non disponi di un JDK 11, puoi utilizzare Amazon CorrettoJDKuno standard a nostra scelta.

    • Per verificare di averlo installato JDK correttamente, esegui il seguente comando. L'output sarà diverso se utilizzi un prodotto JDK diverso da Amazon Corretto 11. Assicurati che la versione sia 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)
Nota

Sebbene l'applicazione sia scritta in Python, Apache Flink viene eseguito nella Java Virtual Machine (). JVM Distribuisce la maggior parte delle dipendenze, come il connettore Kinesis, come file. JAR Per gestire queste dipendenze e impacchettare l'applicazione in un ZIP file, utilizzate Apache Maven. Questo tutorial spiega come farlo.

avvertimento

Ti consigliamo di usare Python 3.11 per lo sviluppo locale. Questa è la stessa versione di Python utilizzata da Amazon Managed Service per Apache Flink con il runtime Flink 1.19.

L'installazione della libreria Python Flink 1.19 su Python 3.12 potrebbe non riuscire.

Se hai un'altra versione di Python installata di default sul tuo computer, ti consigliamo di creare un ambiente autonomo come usare VirtualEnv Python 3.11.

IDEper lo sviluppo locale

Ti consigliamo di utilizzare un ambiente di sviluppo come PyCharmVisual Studio Code per sviluppare e compilare l'applicazione.

Quindi, completa i primi due passaggi diInizia a usare Amazon Managed Service per Apache Flink () DataStream API:

Per iniziare, consulta Creazione di un'applicazione.