私は現在、線形回帰(Spark ML)のベンチマークを持つ小さなクラスタ(3つのノードが32のCPUと128 GBのRAM)でSpark 2.1.0を評価しています。私はパラメータ計算(開始、データロードなどを含まない)の時間を測定し、以下の動作を認識しました。小さなデータセット0.1 Mio - 3 Mioデータポイントの場合、測定時間は実際には増加しておらず、約40秒にとどまります。 300 Mioデータポイントのような大きなデータセットでのみ、処理時間は最大200秒になりました。だから、クラスタは小さなデータセットにまったくスケールされていないようです。スパーククラスタは小さなデータに拡張されません
ローカルPCの小さなデータセットと、10人の作業者と16GBのRAMしか使用していないクラスターを比較しました。クラスタの処理時間は3分の1になります。これはSPARKの通常の動作と考えられ、通信オーバヘッドで説明できますか何か間違っていますか(実際には代表的な線形回帰ですか)?
クラスタはスタンドアロンクラスタ(YarnまたはMesosなし)であり、ベンチマークは90人の従業員とともに提出され、それぞれ1コアと4 GBのラムがあります。
スパークは提出: ./spark-submit --masterスパーク://サーバー:7077 --classベンチマーク--deployモードクライアント--total - エグゼキュータ・コア90 --executor・メモリの4Gを - num executor 90 .../Benchmark.jar pathToData
小さい0.1-0でパフォーマンスに不満があるかどうかはわかりません。3Mデータセット、またはそれより大きな300Mデータセット? – ImDarrenG
こんにちは、私はパフォーマンスに不満はありません。私は、データが既にロードされているにもかかわらず、クラスターが計算に30分かかっているのが普通かどうか疑問に思っていました。 –
私はあなたの観察が合理的であると言います。その間に他の人がいなければ、私は睡眠を取った後、より詳細な回答を提供します。 – ImDarrenG