我有通過Luigi連接的Spark作業和在30臺機器羣集(每臺15GB RAM)上運行的S3作業的序列,這些作業定期掛在各個階段。今天是處理5 GB數據的時間。該階段需要3,5h調試在EMR上運行的Spark應用程序
這個掛起的階段只是對數據集的簡單處理以及稍後的groupByKey(用戶id,1L)和reduceGroups以獲取用戶事件計數。 即使某些用戶有1m事件(不太可能,因爲之前在過濾機器人之後最多爲300K),在休息結束後,單個節點上不應該有7個分區需要3個小時。
有什麼想法? 也許問題是我們使用的數據集仍然是實驗性的? 我們如何進行調試? Thread dump from the executor taking 3 hours