Python – Spark != Pandas + Big Data

Spark != Pandas + 大數據支持 Pandas 和 Spark 操作相同類型的資料—表。然而,他們與之互動的方式卻截然不同。 然而,許多程式設計師經常將他們的學習從 Pandas 擴展到 Spark,假設類似的設計,這會導致效能瓶頸。 今天我給大家舉個例子。 注意:如果您想要一個適合初學者的資源來學習 PySpark,我在這裡介紹了它:不要停留在 Pandas 和 Sklearn!使用 PySpark 開始使用 Spark DataFrames 和大數據 M L。 背景 Spark 中可以執行兩種類型的操作: 轉換:從現有的 DataFrame 建立新的 DataFrame。 操作:這些操作會觸發資料幀上轉換的執行。 為了給您更多上下文,Spark 使用操作,因為與 Pandas 等常見 DataFrame 庫不同,Spark 轉換遵循惰性求值。 惰性評估意味著轉換不會立即產生結果。 相反,計算會延後到觸發某個操作為止,例如: 查看/列印資料。 將資料寫入儲存來源。 將資料轉換為Python列表等。 透過延遲評估 Spark 轉換並僅在需要時執行它們,Spark 可以建立邏輯執行計劃並應用任何可能的最佳化。 然而,這裡還有一個被忽視的警告,可能會導致冗餘計算。因此,如果處理不當,它會大幅減慢 Spark 程式的執行工作流程。 讓我們更詳細地了解一下。 惰性評估問題 …