

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

# Amazon Managed Service for Apache Flink (DataStream API) の概要
<a name="getting-started"></a>

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

**Topics**
+ [Managed Service for Apache Flink アプリケーションのコンポーネントを確認する](#getting-started-components)
+ [演習を完了するための前提条件を満たす](#setting-up-prerequisites)
+ [AWS アカウントをセットアップし、管理者ユーザーを作成する](setting-up.md)
+ [AWS Command Line Interface (AWS CLI) のセットアップ](setup-awscli.md)
+ [Apache Flink アプリケーション用 Managed Serviceを作成して実行する](get-started-exercise.md)
+ [AWS リソースをクリーンアップする](getting-started-cleanup.md)
+ [他のリソースを調べる](getting-started-next-steps.md)

## Managed Service for Apache Flink アプリケーションのコンポーネントを確認する
<a name="getting-started-components"></a>

**注記**  
Amazon Managed Service for Apache Flink はすべての Apache Flink API をサポートし、場合によってはすべての JVM 言語もサポートします。詳細については、「[Flink's APIs](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/concepts/overview/#flinks-apis)」を参照してください。  
選択した API に応じて、アプリケーションの構造および実装が若干異なります。この入門チュートリアルでは、Java における DataStream API を使用したアプリケーションの実装について説明します。

データを処理するため、Managed Service for Apache Flink アプリケーションでは、Apache Flink ランタイムを使用して入力を処理し、出力を生成する Java アプリケーションが使用されます。

通常の Managed Service for Apache Flink アプリケーションには、次のコンポーネントがあります。
+ **ランタイムプロパティ:** *ランタイムプロパティ*を使用して、コードを変更して再発行することなく、設定パラメータをアプリケーションに渡して変更することができます。
+ **ソース:** アプリケーションは 1 つ以上の*ソース*からデータを消費します。ソースは[コネクタ](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/connectors/table/overview/)を使用して、Kinesis データストリームや Kafka バケットなどの外部システムからデータを読み込みます。詳細については、「[ストリーミングデータソースを追加する](how-sources.md)」を参照してください。
+ **オペレーター:** アプリケーションは 1 つ以上の *オペレーター* を使用してデータを処理します。オペレータはデータを変換、強化、または集約できます。詳細については、「[オペレータ](how-operators.md)」を参照してください。
+ **シンク:** アプリケーションにより、*シンク*を通じて外部ソースにデータが送信されます。シンクは[コネクタ](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/connectors/table/overview/) v を使用して、Kinesis データストリーム、Kafka トピック、Amazon S3、リレーショナルデータベースにデータを送信します。特別なコネクタを使用して、開発目的としてのみ出力データを出力することもできます。詳細については、「[シンクを使用してデータを書き込む](how-sinks.md)」を参照してください。

アプリケーションには、アプリケーションが使用する Flink コネクタ (場合によっては Java ライブラリ) などの*外部依存関係*が一部必要です。Amazon Managed Service for Apache Flink で実行するには、アプリケーションは *fat-jar* で依存関係と一緒にパッケージ化され、Amazon S3 バケットにアップロードされる必要があります。次に、Apache Flink アプリケーション用 Managed Serviceを作成します。コードパッケージの場所は、他のランタイム設定パラメータと一緒に渡します。

このチュートリアルでは、Apache Maven を使用してアプリケーションをパッケージ化する方法、ならびに選択した IDE でアプリケーションをローカルで実行する方法について説明します。

## 演習を完了するための前提条件を満たす
<a name="setting-up-prerequisites"></a>

このガイドの手順を完了するには、以下が必要です。
+ [Git クライアント](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)。Git クライアントをまだインストールしていない場合、インストールします。
+ [ Java Development Kit (JDK) バージョン 11。 ](https://www.oracle.com/java/technologies/downloads/#java11)Java JDK 11 をインストールして、`JAVA_HOME` 環境変数が JDK のインストール場所を指すように設定します。JDK 11 がない場合、[Amazon Coretto 11](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/what-is-corretto-11.html) または他の任意の標準 JDK を使用できます。
  + JDK が正しくインストールされていることを確認するには、次のコマンドを実行します。Amazon Corretto 以外の 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](https://maven.apache.org/)。Apache Maven をまだインストールしていない場合、インストールします。インストール方法の詳細については、「[Installing Apache Maven](https://maven.apache.org/install.html)」を参照してください。
  + Apache Maven のインストールをテストするには、次のように入力します。

  ```
  $ mvn -version
  ```
+ ローカル開発用の IDE。開発環境 ([Eclipse Java Neon](https://www.eclipse.org/downloads/packages/release/neon/3) や [IntelliJ IDEA](https://www.jetbrains.com/idea/) など) を使用し、アプリケーションを開発してコンパイルすることをお勧めします。
  + Apache Maven のインストールをテストするには、次のように入力します。

  ```
  $ mvn -version
  ```

開始するには、[AWS アカウントをセットアップし、管理者ユーザーを作成する](setting-up.md)に進みます。