簡體   English   中英

如何在Spark配置單元中設置Spark RDD StorageLevel?

[英]how to set spark RDD StorageLevel in hive on spark?

在我的蜂巢火花工作中,出現以下錯誤:

org.apache.spark.shuffle.MetadataFetchFailedException:缺少shuffle 0的輸出位置

感謝您的回答( 為什么Spark作業會因org.apache.spark.shuffle.MetadataFetchFailedException失敗:在推測模式下缺少shuffle 0的輸出位置? ),我知道這可能是我的hiveonspark作業具有相同的問題

由於hive將sql轉換為hiveonspark作業,因此我不打算在hive中設置它以使其hiveonspark作業從StorageLevel.MEMORY_ONLY更改為StorageLevel.MEMORY_AND_DISK嗎?

謝謝你的幫助~~~~

您可以使用CACHE/UNCACHE [LAZY] Table <table_name>來管理緩存。 更多細節

如果使用的是DataFrame,則可以使用persist(...)指定StorageLevel。 這里查看API。

除了設置存儲級別,您還可以優化其他內容。 SparkSQL使用稱為Columnar存儲的另一種緩存機制,這是一種更高效的數據緩存方式(因為SparkSQL支持模式)。 可以調整一組不同的配置屬性來管理緩存,如此處詳細描述(這是最新版本的文檔。請參閱您使用的版本的文檔)。

  • spark.sql.inMemoryColumnarStorage.compressed
  • spark.sql.inMemoryColumnarStorage.batchSize

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM