私は比較的 Spark に慣れていないので、python と spark SQL を使用して簡単なスクリプトを作成しました。私の問題は、実行の開始段階では完全に問題ありませんが、徐々に速度が低下し、最後の段階の終わりにアプリケーション全体がハングすることです。アプリケーションがハングするコード スニペットを次に示します。
hivectx.registerDataFrameAsTable(aggregatedDataV1,"aggregatedDataV1")
q1 = "SELECT *, (Total_Sale/Sale_Weeks) as Average_Sale_Per_SaleWeek, (Total_Weeks/Sale_Weeks) as Velocity FROM aggregatedDataV1"
aggregatedData = hivectx.sql(q1)
aggregatedData.show(100)
私は端末で次のものを持っています -
16/03/29 09:05:50 INFO TaskSetManager: Finished task 96.0 in stage 416.0 (TID 19992) in 41924 ms on 10.9.0.7 (104/200)
16/03/29 09:05:50 INFO TaskSetManager: Finished task 108.0 in stage 416.0 (TID 20004) in 24608 ms on 10.9.0.10 (105/200)
16/03/29 09:05:50 INFO TaskSetManager: Finished task 105.0 in stage 416.0 (TID 20001) in 24610 ms on 10.9.0.10 (106/200)
16/03/29 09:05:55 INFO TaskSetManager: Starting task 116.0 in stage 416.0 (TID 20012, 10.9.0.10, partition 116,NODE_LOCAL, 2240 bytes)
16/03/29 09:06:31 INFO TaskSetManager: Finished task 99.0 in stage 416.0 (TID 19995) in 78435 ms on 10.9.0.7 (110/200)
16/03/29 09:06:40 INFO TaskSetManager: Starting task 119.0 in stage 416.0 (TID 20015, 10.9.0.10, partition 119,NODE_LOCAL, 2240 bytes)
16/03/29 09:07:12 INFO TaskSetManager: Starting task 122.0 in stage 416.0 (TID 20018, 10.9.0.7, partition 122,NODE_LOCAL, 2240 bytes)
16/03/29 09:07:16 INFO TaskSetManager: Starting task 123.0 in stage 416.0 (TID 20019, 10.9.0.7, partition 123,NODE_LOCAL, 2240 bytes)
16/03/29 09:07:28 INFO TaskSetManager: Finished task 111.0 in stage 416.0 (TID 20007) in 110198 ms on 10.9.0.7 (114/200)
16/03/29 09:07:52 INFO TaskSetManager: Starting task 124.0 in stage 416.0 (TID 20020, 10.9.0.10, partition 124,NODE_LOCAL, 2240 bytes)
16/03/29 09:08:08 INFO TaskSetManager: Finished task 110.0 in stage 416.0 (TID 20006) in 150023 ms on 10.9.0.7 (115/200)
16/03/29 09:08:12 INFO TaskSetManager: Finished task 113.0 in stage 416.0 (TID 20009) in 154120 ms on 10.9.0.7 (116/200)
16/03/29 09:08:16 INFO TaskSetManager: Finished task 116.0 in stage 416.0 (TID 20012) in 145691 ms on 10.9.0.10 (117/200)
その後、アプリケーション全体がハングします。次の構成の spark-env.sh ファイルがあります。
export SPARK_PUBLIC_DNS="azuremaster.westus.cloudapp.azure.com"
export SPARK_EXECUTOR_INSTANCES=1
export SPARK_EXECUTOR_CORES=2
export SPARK_EXECUTOR_MEMORY=3G
export SPARK_MASTER_OPTS="-Dspark.deploy.defaultCores=1"
export SPARK_WORKER_PORT="8888"
export PYSPARK_PYTHON=/usr/bin/python3
export PYSPARK_DRIVER_PYTHON=python3
export SPARK_HIVE=true
3 ノード クラスタを使用しています。2 つのコアと 4 GB のメモリを備えた1 つのマスターと、 4 つのコアと 7 GB のメモリを備えた他の 2 つのワーカー。
これまでに次のことを試しました-
- executor コアの数を増やす
- さまざまな量のリソースを持つエグゼキューターの増加/減少。
私は持っている -
- スパーク -1.6.0
- Java 7
- スカラ 2.10.4
- ビルド済み Hadoop 2.3
- 構築済みハイブ
アプリケーションを 2 時間実行すると、エラーが発生します。
構成を調整する必要があると思いますが、どの構成かわかりません。誰かが何が起こっているのかを知っていて、役立つ情報を提案してくれたらありがたいです。
前もって感謝します。