1
我使用spark進行批處理分析。爲什麼SparkSession初始化在單個應用程序中每次迭代都需要更長的時間?
我在具有128G內存和32核CPU的獨立Ubuntu服務器上運行Spark。沒有任何其他配置參數運行spark-sumbit my_code.py
。
在while循環中,我開始SparkSession
,分析數據,然後停止上下文,並且此過程每10秒重複一次。
while True:
spark = SparkSession.builder.appName("sync_task").config('spark.driver.maxResultSize' , '5g').getOrCreate()
sc = spark.sparkContext
#some process and analyze
spark.stop()
程序啓動時,它可以很好地工作。
但是當它工作幾個小時。火花初始化需要很長時間。 它只需10或20秒就可以初始化火花。
那麼問題是什麼?
那麼是什麼解決方案,如果內存或CPU使用率增加,我應該怎麼做來解決這個問題? –
@JacekLaskowski另外[SPARK-20352](https://issues.apache.org/jira/browse/SPARK-20352?jql=project%20%3D%20SPARK)(OP明確打開)。 – zero323
@JacekLaskowski我應該在Jconsole中監視哪些度量標準以查看內存使用情況和CPU使用情況? –