Amazon Managed Service for Apache Flink for Python の使用を開始する - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Managed Service for Apache Flink for Python の使用を開始する

このセクションでは、Python と表 を使用した Managed Service for Apache Flink の基本概念を紹介しますAPI。アプリケーションの作成とテストに使用できるオプションについて説明します。また、このガイドのチュートリアルを完了し、初めてアプリケーションを作成するのに必要なツールのインストール方法についても説明します。

Managed Service for Apache Flink アプリケーションのコンポーネントを確認する

注記

Amazon Managed Service for Apache Flink は、すべての Apache Flink APIsをサポートしています。API 選択した によって、アプリケーションの構造が若干異なります。Python で Apache Flink アプリケーションを開発する際の一般的なアプローチの 1 つは、Python コードにSQL埋め込まれた を使用してアプリケーションフローを定義することです。これは、次の Gettgin Started チュートリアルで従うアプローチです。

データを処理するために、Managed Service for Apache Flink アプリケーションは Python スクリプトを使用して、入力を処理し、Apache Flink ランタイムを使用して出力を生成するデータフローを定義します。

一般的な Managed Service for Apache Flink アプリケーションには、次のコンポーネントがあります。

  • ランタイムプロパティ:」「ランタイムプロパティ」を使用すると、アプリケーションコードを再コンパイルせずにアプリケーションを設定できます。

  • ソース: アプリケーションは 1 つ以上のソース からのデータを消費します。ソースはコネクタを使用して、Kinesis データストリームや Amazon MSKトピックなどの外部システムからデータを読み込みます。特別なコネクタを使用して、アプリケーション内からデータを生成することもできます。を使用するとSQL、アプリケーションはソースをソーステーブル として定義します。

  • 変換: アプリケーションは、データをフィルタリング、強化、または集計できる 1 つ以上の変換を使用してデータを処理します。を使用するとSQL、アプリケーションは変換をSQLクエリとして定義します。

  • シンク: アプリケーションはシンク を介して外部ソースにデータを送信します。シンクはコネクタを使用して、Kinesis データストリーム、Amazon MSKトピック、Amazon S3 バケット、リレーショナルデータベースなどの外部システムにデータを送信します。また、特別なコネクタを使用して、開発目的で出力を出力することもできます。を使用するとSQL、アプリケーションは結果を挿入するシンクテーブルとしてシンクを定義します。詳細については、「Managed Service for Apache Flink でシンクを使用してデータを書き込む」を参照してください。

Python アプリケーションでは、追加の Python ライブラリやアプリケーションが使用する Flink コネクタなど、外部の依存関係が必要になる場合もあります。アプリケーションをパッケージ化するときは、アプリケーションに必要なすべての依存関係を含める必要があります。このチュートリアルでは、コネクタの依存関係を含める方法と、Amazon Managed Service for Apache Flink にデプロイするためにアプリケーションをパッケージ化する方法について説明します。

前提条件を満たす

このチュートリアルを完了するには、以下が必要です。

  • Python 3.11、できれば VirtualEnv (venv)CondaMiniconda などのスタンドアロン環境を使用します。

  • Git クライアント - まだ Git クライアントをインストールしていない場合はインストールします。

  • Java Development Kit (JDK) バージョン 11 - Java 11 JDK をインストールし、インストール場所を指すようにJAVA_HOME環境変数を設定します。11 がない場合は、 JDK Amazon CorrettoまたはJDK任意の標準を使用できます。

    • JDK が正しくインストールされていることを確認するには、次のコマンドを実行します。Amazon Corretto 11 JDK以外の を使用している場合、出力は異なります。バージョンが 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 - まだインストールしていない場合は、Apache Maven をインストールします。詳細については、「Apache Maven のインストール」を参照してください。

    • Apache Maven のインストールをテストするには、次のコマンドを使用します。

      $ mvn -version
注記

アプリケーションは Python で記述されていますが、Apache Flink は Java 仮想マシン () で実行されますJVM。Kinesis コネクタなどの依存関係のほとんどをJARファイルとして配布します。これらの依存関係を管理し、アプリケーションをZIPファイルにパッケージ化するには、Apache Maven を使用します。このチュートリアルでは、その方法について説明します。

警告

ローカル開発には Python 3.11 を使用することをお勧めします。これは、Amazon Managed Service for Apache Flink が Flink ランタイム 1.19 で使用しているのと同じ Python バージョンです。

Python 3.12 に Python Flink ライブラリ 1.19 をインストールすると、失敗することがあります。

マシンにデフォルトで別の Python バージョンがインストールされている場合は、Python 3.11 VirtualEnv を使用するなどのスタンドアロン環境を作成することをお勧めします。

IDE ローカル開発用

アプリケーションの開発とコンパイルには、 PyCharmVisual Studio Code などの開発環境を使用することをお勧めします。

次に、 の最初の 2 つのステップを完了しますAmazon Managed Service for Apache Flink の使用を開始する (DataStream API)

開始するには、 アプリケーションの作成 を参照してください。