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 と SQLまたは Scala と の組み合わせです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ステートメントを単一の Flink ジョブとしてまとめて送信する必要があるためです。DML ステートメントを含む段落が 1 つまで存在する必要があります。これは、この機能 deploy-as-application では、Flink への 1 つのジョブの送信のみがサポートされているためです。
詳細と例については、「Amazon Managed Service for Apache Flink、Amazon Translate、および Amazon Comprehend でSQL関数を使用してストリーミングデータを翻訳、編集、分析する Amazon Comprehend