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

什麼是最好的方法來顯示DataFrame沒有重新執行的邏輯我們每次顯示嗎?

麥當娜
重視貢獻二世

你好,

我有一個在DataFrame DataFrame和應用不同的轉換。我想顯示DataFrame幾轉換後檢查結果。

然而,根據參考e我試圖顯示結果,它運行的執行計劃。提出了一個解決方案的參考保存DataFrame然後加載它。然而,這種解決方案不能應用到我工作的平台。Beplay体育安卓版本

還有其他解決方案顯示結果幾次在一個沒有重新執行邏輯的筆記本嗎?

為此我可以用.cache()如下:

  • .count df.cache () ()
  • df.display ()

由於DataFrame的名稱將會改變在下一行,下麵我重複一遍:

  • .count df_new.cache () ()
  • df_new.display ()

1接受解決方案

接受的解決方案

Vinay_M_R
重視貢獻二世
重視貢獻二世

@Mado

是的,有必要保存DataFrame到一個新的變量如果您想要使用緩存顯示DataFrame。這是因為緩存DataFrame會導致它不丟失任何數據可以來自額外的過濾器添加緩存DataFrame之上,和被緩存的數據可能不會更新如果訪問表使用一個不同的標識符。因此,建議分配引發的結果轉換回一個SparkDataFrame變量,類似於如何使用公共表表達式(cte),臨時觀點,或者DataFrames在其他係統中。

在原帖子查看解決方案

4回複4

夢想
新的貢獻者三世

是的df.cache()將工作

麥當娜
重視貢獻二世

謝謝。

在這個參考,建議保存緩存DataFrame到一個新的變量:

  • 當你緩存DataFrame為它創建一個新的變量cachedDF = df.cache ()。這將允許你繞過我們解決的問題在我們的例子中,有時還不清楚什麼是分析計劃,什麼是緩存。這裏,當你打cachedDF.select (…)它將利用緩存的數據。

我不明白背後的邏輯。

你認為有必要保存DataFrame成一個新變量的情況下,我想使用緩存顯示DataFrame嗎?

Vinay_M_R
重視貢獻二世
重視貢獻二世

@Mado

是的,有必要保存DataFrame到一個新的變量如果您想要使用緩存顯示DataFrame。這是因為緩存DataFrame會導致它不丟失任何數據可以來自額外的過濾器添加緩存DataFrame之上,和被緩存的數據可能不會更新如果訪問表使用一個不同的標識符。因此,建議分配引發的結果轉換回一個SparkDataFrame變量,類似於如何使用公共表表達式(cte),臨時觀點,或者DataFrames在其他係統中。

麥當娜
重視貢獻二世

@Vinay_M_R

謝謝你的幫助。

恐怕我不明白為什麼它是必要的。

這是因為緩存DataFrame會導致它不丟失任何數據可以來自額外的過濾器添加緩存DataFrame之上,


注意,當df是緩存,它立即顯示。

  • .count df.cache () ()
  • df.display ()

然後,更多的轉換是應用於“df”和結果保存在“df_new”這對顯示緩存的目的:

  • .count df_new.cache () ()
  • df_new.display ()

和被緩存的數據可能不會更新如果訪問表使用一個不同的標識符。


對不起,我不明白這一部分,“如果訪問表使用一個不同的標識符”。

因此,建議分配引發的結果轉換回一個SparkDataFrame變量,類似於如何使用公共表表達式(cte),臨時觀點,或者DataFrames在其他係統中。


它是在筆記本上完成的。我們分配的結果轉換到一個新的DataFrame緩存使用或不是。

磚有參考文獻在這方麵嗎?

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

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

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

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

Baidu
map