取消
顯示的結果
而不是尋找
你的意思是:

窗函數的性能比自我連接?

matthewe97
新的因素

我有一個表的數據每個月結束,想知道鉛和滯後每月數據點的兩側。例如:

選擇month_date、鉛(month_date) /(分區通過id命令month_date) next_month_date滯後(month_date) /(分區id ORDER BY month_date) previous_month_date從t

我想知道如果這比:

選擇month_date, t2。month_date next_month_date, t3。month_date previous_month_date從t離開加入t2 t。id = t2。id和t。month_date = ADD_MONTHS (t.month_date, 1)加入t3 t。id = t3。id和t。month_date = ADD_MONTHS (t.month_date, 1)

1接受解決方案

接受的解決方案

pvignesh92
尊敬的貢獻者

嗨@Matthew Elsham @Lakshay戈埃爾指出,我會相信窗戶會工作的更好,因為它將第一個分區基於分區鍵然後你聚合發生在該分區一個工人。但是很高興看到你的查詢計劃對這些病例和理解數據最適合你。

這是一個好的博客我檢查-https://blog.knoldus.com/using-windows-in-spark-to-avoid-joins/。請您看一看。

在原帖子查看解決方案

3回複3

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

嗨@Matthew Elsham,在這種情況下,我希望窗口函數來做得更好因為你做2連接在第二個查詢。

,也就是說,連接的性能高度依賴的類型加入戰略和連接的數據量。但窗口功能會讓你更加簡潔的代碼。

pvignesh92
尊敬的貢獻者

嗨@Matthew Elsham @Lakshay戈埃爾指出,我會相信窗戶會工作的更好,因為它將第一個分區基於分區鍵然後你聚合發生在該分區一個工人。但是很高興看到你的查詢計劃對這些病例和理解數據最適合你。

這是一個好的博客我檢查-https://blog.knoldus.com/using-windows-in-spark-to-avoid-joins/。請您看一看。

Vidula_Khanna
主持人
主持人

嗨@Matthew Elsham

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map