

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

# Managed Service for Apache Flink での Python の例
<a name="examples-new-python"></a>

次の例では、Python で記述したアプリケーションを作成する方法について説明します。

**注記**  
ほとんどの例は、ローカル、開発マシン、選択した IDE、Amazon Managed Service for Apache Flink の両方で実行されるように設計されています。これらは、アプリケーションパラメータを渡すために使用できるシンプルなメカニズムと、両方の環境でアプリケーションを変更せずに実行するために依存関係を正しく設定する方法を示しています。

**プロジェクトの依存関係**

ほとんどの PyFlink の例では、Flink コネクタなど、JAR ファイルとして 1 つ以上の依存関係が必要です。これらの依存関係は、Amazon Managed Service for Apache Flink にデプロイされたときにアプリケーションにパッケージ化されている必要があります。

次の例では、開発とテストのためにアプリケーションをローカルで実行し、必要な依存関係を正しくパッケージ化できるツールが既に含まれています。このツールでは、Java JDK11 と Apache Maven を使用する必要があります。具体的な手順については、各例に含まれる README を参照してください。

**例**

## PyFlink の使用を開始する
<a name="getting-started-pyflink"></a>

この例は、Python コードに埋め込まれた SQL を使用する PyFlink アプリケーションの基本構造を示します。このプロジェクトは、コネクタなどの JAR 依存関係が含まれた PyFlink アプリケーション用のスケルトンも提供します。README セクションには、開発のために Python アプリケーションをローカルで実行する方法に関する詳細なガイダンスが記載されています。この例は、この例での唯一の JAR 依存関係である Kinesis SQL コネクタを PyFlink アプリケーションに含める方法も示しています。

コード例: [GettingStarted](https://github.com/dzikosc/amazon-managed-service-for-apache-flink-examples/tree/main/python/GettingStarted)

## Python の依存関係を追加する
<a name="add-python-dependencies"></a>

この例は、Python 依存関係を PyFlink アプリケーションに追加する最も一般的な方法を示します。この方法は、Boto3 などの単純な依存関係、または PyArrow などの C ライブラリを含む複雑な依存関係に対して機能します。

コード例: [PythonDependencies](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/PythonDependencies)

## ウィンドウイング集約を使用する (DataStream API)
<a name="windowing-aggregations-python"></a>

この例は、Python アプリケーションに埋め込まれた SQL の 4 タイプのウィンドウイング集約を示しています。

1. 処理時間に基づくスライディングウィンドウ

1. イベント時間に基づくスライディングウィンドウ

1. 処理時間に基づくタンブリングウィンドウ

1. イベント時間に基づくタンブリングウィンドウ

コード例: [Windowing](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/Windowing)

## S3 シンクを使用する
<a name="s3-sink-python"></a>

この例は、Python アプリケーションに埋め込まれた SQL を使用して、出力を JSON ファイルとして Amazon S3 に書き込む方法を示します。ファイルを Amazon S3 に書き込んでローテーションするには、S3 シンクのチェックポイントを有効にする必要があります。

コード例: [S3Sink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/S3Sink)

## ユーザー定義関数 (UDF) を使用する
<a name="UDF-python"></a>

この例は、ユーザー定義関数を定義し、Python で実装して、Python アプリケーションで実行される SQL コードで使用する方法を示します。

コード例: [UDF](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/UDF)

## Amazon Data Firehose シンクを使用する
<a name="Firehose-sink-python"></a>

この例は、SQL を使用して Amazon Data Firehose にデータを送信する方法を示します。

コード例: [FirehoseSink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/FirehoseSink)