エンドユーザーのドライバexecuteメソッドのEnvirementオペレーターのユーザーによって開始された全体FLINK仕事は)(StreamGraphに変換され、
JobGraph JobGraphは、対応するRPCリモート介しJobManagerに提出し、この得られたインターフェイス
JobManagerはexecutionGraph.deploy()に変換した後、タスクマネージャ分散TDDを生成し、ジョブ全体を起動しました
ドライバは、入口としてエンドユーザEnvirement.execute()メソッドがこの外観を実現します
ここにEnvirement
RemoteStreamEnvironment
LocalStreamEnvironment
ローカルモデルは、ここで起動していない比較的単純であるため、主な方法はRemoteStreamEnvironmentを見ることです実行
streamGraphを取得するために最初にここで見ることができ、具体的な実装を取得
ここでは、ユーザーの皆様のオペレータのすべてが含まれています1つの変換を渡しています
この場所は、UEがStreamGraphを生成オペレータのすべてを横断している、それぞれが特定のオペレータは、論理streamGraphに変換され、横断しました
入力がtransforされるまで1には、上流のIDを取得し、その後、入力を再帰的になります
オペレータは、次いで、ノード演算子としてにaddNode streamGraph()メソッドの呼び出しに追加され、下流の種類に関するいくつかの情報、並列度、soltGroupが含ま
最後にトラバースIDS上流側streamGraphを作成するために追加しました
ここでstreamGraph今作成
戻る最初の代わりに、あなたは後で、入ってくるexecuteRemotely(streamGraph、jarファイル)は、このメソッドをstreamGraphますstreamGraph作成した、これはstreamGraphがjobgraphのロジックに変換されます
どのRestClusterClientを作成します
getJobGraph方法streamGraphがjobgraphに変換することにより、我々は、ここで見ることができます
そして、submitJobこのJobGraphはJobmanagerを提出しました
streamGraphがjobgraphに変換する方法を見てください
そして、getJobGraph方法
この方法は、一次createJobGraph変換ロジックであります
幅優先トラバーサルはすべてstreamGraphオペレータがオペレータのハッシュを生成する必要がある理由ハッシュのハッシュ値を生成しているノードは?
一意の必要に応じてオペレータ、ユーザコードが変更されない各オペレータCPためのフラグ回復を識別するハッシュは、ハッシュ値は変更されないので
次
ここで、オペレータは、条件を満たしチェーンに従ってFLINK下流操作はcreateChianに、一緒に連鎖します
このisChainable()メソッドは、条件鎖か決意であります
1.下流つのみの入力側
2.下流操作オペレータは空ではありません
3.上流のオペレータの操作が空ではありません
4.上流のグループは、同じSOLTを持っている必要があります
常に5.ダウンストリームの連鎖ポリシー
6.ヘッド又は常に上流鎖ポリシーチェーンポリシーの上流
7.forwardpartitionエッジ
8.下流平行同じ
オペレータ9.ユーザコードはキオス島ができれば
streamnodeのチェーンは、後のjobVertex jobGraphなっ作成するために一緒に連鎖させることができます
インターフェイス上でこのjobGraph RestClusterClientによってDispatcherの意志に対応したRPCのjobmanagerに送信します
運転手側は、ジョブ全体のタスクが終了するスタート
要約:
エッジ、コーナー、下流の種類の情報の一部、並列度の数が含まstreamGraphなるエンドユーザーが作成されたオペレータでドライバ
次に、いくつかの頂点鎖缶チェーンを通してstreamGraph鎖条件は一緒にJobGraphに変換します
streamEdgeはjobVertexなっstreamnode一緒に、チェーンjobEdgeになりました
最後に、その後、RPCによってjobmanagerに提出全体jobGraph。