繁体   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