轉換

免費試用Databricks

什麼是轉換?

在Spark中,核心數據結構是不可變的這意味著它們一旦創建就不能更改。乍一看,這似乎是一個奇怪的概念,如果你不能改變它,你應該如何使用它?為了“改變”一個DataFrame,你必須指示Spark如何修改你想要的DataFrame。這些指令被稱為轉換.轉換是如何使用Spark表達業務邏輯的核心。有兩種類型的轉換,一種指定窄依賴項,另一種指定寬依賴項。

什麼是窄依賴關係?

包含以下內容的轉換狹窄的依賴關係[我們稱之為狹義轉換]是指每個輸入分區隻對一個輸出分區作出貢獻。狹窄的轉換

什麼是廣泛依賴?

一個廣泛的依賴[或寬轉換]風格的轉換將輸入分區貢獻給許多輸出分區。你會經常聽到這個被稱為a洗牌Spark將在集群中交換分區。使用窄轉換,Spark將自動在窄依賴項上執行名為pipelining的操作,這意味著如果我們在dataframe上指定多個過濾器,它們都將在內存中執行。但對於洗牌就不是這樣了。當我們執行shuffle時,Spark會將結果寫入磁盤。你會在網絡上看到很多關於shuffle優化的討論,因為這是一個重要的話題,但現在你隻需要了解有兩種類型的轉換。廣泛的轉換

額外的資源

回到術語表
Baidu
map