2017-01-06 6 views
1

Scalaと大規模なデータセットのプログラミングについては初めてです。ローカル環境でプロファイラを使用する必要があります。スカラのコードでは処理が遅すぎるかどうかを調べるために、ローカルノードとクラスタ環境の両方でSpark UIを試しましたが、十分ではありません。問題は、私のコードがScalaの "スクリプト"であるか、スパークシェルで直接実行されるコード行のシーケンスだけであることです。Spark用のスカラコードのプロファイリング

一般的なプロファイラでは、jarファイルを生成してjarファイルを実行してプロファイラエージェントをアタッチするには、構造化されたScalaコードが必要です。 検索する場所がわかりません。何か案は?それは可能かどうか?

答えて

2

実行中のJVMにJavaプロファイラ(たとえば、JDKに付属のフリーjvisualvmなど)を添付することができます。私はそれを試していないが、私はあなたがSparkによって実行されるコードをプロファイリングできるはずだと信じています。

もちろん、コードが実行される正しいJVMに接続する必要があります。リモートで実行されている場合、Sparkシェルを実行しているローカルのJVMに接続することは役に立ちません。

また、適切なタイミングでプロファイルを作成する必要があります。

+0

ありがとうございました。私はYourKitを「接続モード」で使用しました。シンプルなUIと高速。 – user7331766

+0

@ user7331766あなたの質問に答えた場合は、チェックマークをクリックすることで、自分の答えに合格とマークすることができます。 – ziggystar

+0

@ user7331766あなたの質問に印を付けるために結びつけましたが、フィードバックが記録されました。 – user7331766

関連する問題