我正在編寫pyspark中的代碼,在哪裏進行過濾,加入,unionall,groupby操作。pyspark中的優化
但我注意到在groupby opration之前,count()函數需要9分鐘,而groupby之後count()函數需要35分鐘。我需要一些關於如何優化groupby子句的建議以減少處理時間。
配置參數: 執行程序存儲器12克 NUM-執行人50 執行人芯5 驅動器的存儲器40克 數據大小約1個TB
代碼段,例如:
dataframeA = hc.sql("select * from tableA")
dataframeB = hc.sql("select * from tableB")
dataframeC = hc.sql("select * from tableC")
dataframeD = dataframeA.unionAll(dataframeB)
dataframeE = dataframeD.join(dataframeC, col1 == col2, 'left_outer')
dataframeF = dataframeE.groupby ([col1, col2]
.agg({
max("col3"),
sum("col4")/ sum("col5"),
...
})
任何建議?
能夠幫助您發佈您的代碼(或至少是一個簡化的例子) –
添加了代碼片段以供參考。 – Renu