2017-02-08 5 views
0

私は現在、以下の環境で火花提出し実行しています:スパーク提出仕事のパフォーマンスを

シングルノードRAM:40ギガバイト、VCores:8、はスパークバージョン:2.0.2、 Pythonの:3.5)

マイpysparkプログラムは、基本的には、HDFSから1つの450メガバイト非構造化ファイルを読み込みます。次に、各行をループし、必要なデータを取得してリストに配置します。最後に、createDataFrameを使用してデータフレームをHiveテーブルに保存します。

マイpysparkプログラムコードスニペット:

sparkSession = (SparkSession 
.builder 
.master("yarn") 
.appName("FileProcessing") 
.enableHiveSupport() 
.config("hive.exec.dynamic.partition", "true") 
.config("hive.exec.dynamic.partition.mode", "nonstrict") 
.getOrCreate()) 

lines = sparkSession.read.text('/user/test/testfiles').collect() 

for line in lines: 
    // perform some data extrating and place it into rowList and colList using normal python operation 

df = sparkSession.createDataFrame(rowList, colList) 

df.registerTempTable("tempTable") 
sparkSession.sql("create table test as select * from tempTable"); 

マイスパーク-submitコマンドには、以下の通りである:

spark-submit --master yarn --deploy-mode cluster --num-executors 2 --driver-memory 4g --executor-memory 8g --executor-cores 3 --files /usr/lib/spark-2.0.2-bin-hadoop2.7/conf/hive-site.xml FileProcessing.py 

は、それが処理を完了するのに約5分かかりました。パフォーマンスは良いと考えていますか?プロセスが1〜2分以内に完了できるように、エグゼキュータのメモリとエグゼキュータのコアを設定する方法をどのように調整できますか?

あなたの応答を感謝します。ありがとう。

+0

ファイルの読み取りにはどのくらいの時間がかかりましたか? –

+0

私は少なくとも2 + +分を持っていると思う。私たちがログを追跡して読み取りプロセスの正確な時間を知る方法はありますか? – kcyea

+0

スパークユーザーインターフェースを見て、各段階がその仕事に費やした時間を確認してください。 –

答えて

0

は、あなたのアプリケーションをチューニングするために、あなたはあなたがあなたのクラスタでは、作成したアプリケーションで使用されているどのくらいのリソースを利用中であるかどうか、あなたのアプリケーションを監視する必要がある)いくつかのこと を知っておく必要があり

監視はさまざまなツールを使用して行うことができます。 Ganglia GangliaからCPU、メモリ、ネットワークの使用状況を確認できます。

2)CPUとメモリの使用状況に関する観測に基づく、あなたのアプリケーションのための火花defaults.confに

であなた

フォームスパークポイントを必要とするチューニングのどのような良いアイデアを得ることができます

ガベージコレクションアルゴリズムを変更することもできますが、アプリケーションによって必要とされるドライバメモリとエグゼキュータメモリの量はどのようなシリアル化が必要かを指定できます。

以下

はあなたの要件の詳細は、

spark.serializer     org.apache.spark.serializer.KryoSerializer 
spark.driver.memory    5g 
spark.executor.memory   3g 
spark.executor.extraJavaOptions -XX:MaxPermSize=2G -XX:+UseG1GC 
spark.driver.extraJavaOptions -XX:MaxPermSize=6G -XX:+UseG1GC 

に基づいて、このパラメータはhttp://spark.apache.org/docs/latest/tuning.html

はこれが役に立てば幸いチューン参照することができます!いくつかの例です

+0

チューニングのヒントをありがとう。私はそれを試してみます:) – kcyea

+0

本当にあなたを助けたら私の答えの投票をしてください!!! ... – Bhavesh

関連する問題