は:スパーク動的リソース割り当てが有効になっている場合スパーク動的リソース割当ておよびキューアプリケーション
、すべてのリソースは、後続のアプリケーションが起動キューイングさせる可能な最初に投入されたジョブに割り当てられています。アプリケーションがリソースを並行して取得できるようにするには、リソースをプールに割り当て、そのプールでアプリケーションを実行し、プール内で実行されているアプリケーションを優先使用できるようにします。
私はこの動作を自分で見てきましたが、私は現在、2ノード(EMRではm3.xlarge)と1つのマスター(r3.xlarge)の小さなクラスタで作業しています。私が見ているのは、複数のスパークアプリケーション(への別の呼び出し)を送信すると、EMRでリソースマネージャーを調べると、すべてのアプリケーションが受け入れられますが、一度に1つしか実行されないということです。
これは、私が約2GBのファイルを読み込んでおり、自分のリソースが最大になっていることが原因である可能性があります。私はまた、火花の既存のpi.py
の例でいくつかの電話をにしようと試みました。その場合は、実行中のジョブが1つ以上表示されます。
Clouderaの文書は正しいのですか、それとも誤解を招くのですか?はるかに大きなクラスタを使用する場合、複数のアプリケーションが並行して実行されていますか?
私の例に関しては、2つの異なるシナリオがあります: 1)私は複数の「大きな」アプリケーションを提出します。これにより、これらのアプリケーションで処理するために多くのメモリが必要になることを意味します。このシナリオでは、アプリケーションはすべて受け入れられ、キューに入れられますが、一度に1つだけ実行されます。 2)Piを計算するために既存の例のように複数の「小さな」アプリケーションを提出します。ここでは、同時に実行状態にある複数のアプリケーションを見ることができます。 後者の場合、すべてのリソースが1つのアプリケーションで使い切られていないと、複数のタスクが「実行中」表示されませんでしたか? –