我有一個sql語句查詢是由許多領域做一個組。它使用的表格也很大(4TB大小)。我正在將表格註冊爲臨時表格。但是我不知道當我將它註冊爲臨時表時,該表是否被緩存?如果我將查詢轉換爲Scala函數(例如df.groupby()。aggr()...),而不是將它作爲sql語句,我也不知道它是否更高性能。對此有何幫助?registerTempTable是否會導致表被緩存?
7
A
回答
6
SQL是最有可能會以最快的速度遠遠Databricks blog
你嘗試分區/重新分區數據幀,以及看它是否可以提高性能?
關於registerTempTable:它只在Spark內部註冊表。您可以使用用戶界面進行檢查。
val test = List((1,2,3),(4,5,6)).toDF("bla","blb","blc")
test.createOrReplaceTempView("test")
test.show()
存儲是空白
VS
val test = List((1,2,3),(4,5,6)).toDF("bla","blb","blc")
test.createOrReplaceTempView("test").cache()
test.show()
通過registerTempTable在火花2.0棄用,通過
createOrReplac已被替換的方式eTempView
0
我有一個sql語句查詢是由許多字段做一個組。它使用的表格也很大(4TB大小)。我正在將表格註冊爲臨時表格。但是我不知道當我將它註冊爲臨時表時,該表是否被緩存?
除非使用cache()函數,否則registerTempTabele或createOrReplaceTempView不會將數據緩存到內存或光盤本身。
我也不知道它是否是更好的性能,如果將我的查詢到Scala的功能(例如df.groupby()。匯聚()...),而不是它的SQL語句。對此有何幫助?
請記住sql查詢中的sql術語最終會調用裏面的函數。所以無論你使用sql查詢條件還是代碼中可用的函數,都無關緊要。那是同樣的事情。
相關問題
- 1. MemoryError是否會導致python刷新其緩存?
- 2. 「緩存」值是否會導致邏輯迴歸失敗?
- 3. fdopen()是否會導致內存泄漏?
- 4. 這是否會導致內存泄漏?
- 5. 這是否會導致內存泄漏?
- 6. 這是否會導致內存泄漏?
- 7. 內存異常是否會導致NullPointerException?
- 8. Application.terminate是否會導致內存泄漏?
- 9. 緩存是否被覆蓋?
- 10. Cloudflare緩存導致「Access-Control-Allow-Origin」頭不會被髮送
- 11. 爲什麼CURRENT_DATE()會導致查詢不被緩存?
- 12. ValueTypes是否會導致GC?
- 13. `recv()`是否會導致緩衝區溢出?
- 14. 是否會由於內存泄漏而導致內存不足?
- 15. mod_rewrite是否會導致GET請求被忽略?
- 16. 訪問lazy val的類型是否會導致它被評估?
- 17. GeoCoder getFromLocation方法是否會導致NetworkOnMainThreadException被拋出?
- 18. Azure雲服務 - VIP交換是否會導致OnStop()被調用?
- 19. 如果removeAllListeners()未被調用,EventEmitter是否會導致內存泄漏?
- 20. 您是否期望未來的CPU代不會緩存一致?
- 21. NSFetchedResultsController〜緩存導致問題?
- 22. Swift - Parse檢查PFFile是否被緩存
- 23. 代理資產是否被緩存?
- 24. javax.persistence.Query對象是否可以被緩存?
- 25. 我的查詢是否被緩存?
- 26. CLLocationManager是否會導致此崩潰?
- 27. 這是否會導致保留週期?
- 28. Lua:這是否會導致段錯誤
- 29. shink_to_fit是否會導致重新分配?
- 30. 此代碼是否會導致死鎖?