Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
耐久性のある状態のアプリケーションとしてデプロイする
コードを構築して Amazon S3 にエクスポートできます。ノートに書いたコードを、継続的に実行されるストリーム処理アプリケーションに昇格させることができます。Apache Flink 用 Managed Service で Apache Flink アプリケーションを実行するには、2 つのモードがあります。Studio ノートブックでは、コードをインタラクティブに開発し、コードの結果をリアルタイムで表示し、ノート内で可視化することができます。ノートをストリーミング・モードで実行するようにデプロイすると、Apache Flink 用 Managed Service は、継続的に実行され、ソースからデータを読み取り、デスティネーションに書き込み、長時間実行されるアプリケーションの状態を維持し、ソースストリームのスループットに基づいて自動的にオートスケールするアプリケーションを作成します。
注記
アプリケーションコードをエクスポートする S3 バケットは、スタジオノートブックと同じリージョンにある必要があります。
Studio ノートパソコンからノートパソコンを導入するには、次の条件を満たす必要があります。
段落は順番に並べる必要があります。アプリケーションをデプロイすると、メモ内のすべての段落が、メモに表示されるように順番に (left-to-right, top-to-bottom) 実行されます。この順序は、ノートの [すべての段落を実行] を選択することで確認できます。
コードは Python と Scala SQLと の組み合わせですSQL。現在、 では Python と Scala を一緒にサポートしていません deploy-as-application。
ノートには、「
%flink
%flink.ssql
%flink.pyflink
%flink.ipyflink
%md
」のインタープリタのみを使用してください。「Zeppelin コンテキスト
」オブジェクト z
の使用はサポートされていません。何も返さないメソッドは、警告をログに記録する以外に何もしません。その他のメソッドは Python の例外を発生させたり、Scala でのコンパイルに失敗したりします。1 つのノートの結果が 1 つの Apache Flink ジョブになる必要があります。
「動的フォーム
」を持つ Notes は、アプリケーションとしてデプロイすることはできません。 %md (Markdown
) 段落は、アプリケーションとしてデプロイする際にスキップされます。なぜなら、これらの段落には、結果のアプリケーションの一部として実行するのに適さない、人間が読める文書が含まれていると考えられるからです。 Zeppelin 内で実行するために無効化された段落は、アプリケーションとしてデプロイする際にスキップされます。無効化された段落が互換性のないインタプリタを使用していても、例えば
%flink
and %flink.ssql
インタプリタを含むノートの%flink.ipyflink
では、アプリケーションとしてノートをデプロイする際にスキップされ、エラーにはなりません。アプリケーションデプロイを成功させるにはSQL、実行が有効になっているソースコード (Flink 、 PyFlink または Flink Scala) が少なくとも 1 つの段落に存在する必要があります。
段落内のインタプリタディレクティブで並列度を設定しても(例えば
%flink.ssql(parallelism=32)
)、ノートからデプロイされたアプリケーションでは無視されます。代わりに、 を通じてデプロイされたアプリケーションを更新 AWS Command Line Interface して AWS Management Console、 AWS APIアプリケーションに必要な並列処理のレベルに応じて並列処理や ParallelismPerKPU設定を変更したり、デプロイされたアプリケーションの自動スケーリングを有効にしたりできます。耐久性のある状態のアプリケーションとしてデプロイする場合は、 にインターネットアクセスVPCが必要です。にインターネットアクセスVPCがない場合は、「」を参照してくださいインターネットにアクセスできない に耐久性のある状態のアプリケーションとしてデプロイVPCする。
Scala/Python の基準
Scala または Python のコードでは、古い「Flink」プランナー(Scala 用
stenv_2
、Python 用st_env_2
)ではなく、「Blinkプランナー」(Scala 用 senv
、stenv
、Python 用s_env
、st_env
)を使用してください。Apache Flink プロジェクトでは、Zeppelin および Flink のデフォルトのプランナーである Blink プランナーを本番ユースケースで使用することを推奨しています。Python の段落では、 を使用したシェル呼び出し/割り当て
!
、またはアプリケーションとしてデプロイするためのメモ%conda
に%timeit
や などのIPythonマジックコマンドを使用してはなりません。 Scala ケースクラスは、
map
やfilter
などの高階データフローオペレータに渡される関数のパラメーターとして使用することはできません。Scala ケースクラスの詳細については、Scala ドキュメントCASECLASSESの「」を参照してください。
SQL 基準
データを配信できる段落の出力セクションに相当する場所がないため、単純なSELECTステートメントは許可されません。
任意の段落では、DDLステートメント (
USE
、、CREATE
ALTER
、、RESET
) は DML (INSERT
)DROP
SET
ステートメントの前に存在する必要があります。これは、段落内のDMLステートメントを 1 つの Flink ジョブとしてまとめて送信する必要があるためです。DML ステートメントを含む段落が 1 つまで存在する必要があります。これは、この機能 deploy-as-applicationでは、Flink への 1 つのジョブの送信のみがサポートされているためです。
詳細と例については、「Amazon Managed Service for Apache Flink、Amazon Translate 、および Amazon Comprehend のSQL関数を使用したストリーミングデータの翻訳、編集、分析