Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching 缓存与临时视图_Caching_Apache Spark_Parquet - Fatal编程技术网

Caching 缓存与临时视图

Caching 缓存与临时视图,caching,apache-spark,parquet,Caching,Apache Spark,Parquet,我有一个拼花地板文件,我在我的应用程序中至少阅读了4-5次。我想知道最有效的方法是什么 备选案文1。在写入拼花地板文件时,将其读回数据集并调用缓存。我假设通过立即读取,我可能会使用一些现有的hdfs/spark缓存作为写入过程的一部分 备选案文2。在我的应用程序中,当我第一次需要数据集时,在读取数据集后将其缓存 备选案文3。在编写拼花地板文件时,在完成后创建一个临时视图。在所有后续使用中,请使用视图 我也不太清楚从tempview和parquet数据集中读取数据的效率 数据集不能全部放入内存。您

我有一个拼花地板文件,我在我的应用程序中至少阅读了4-5次。我想知道最有效的方法是什么

备选案文1。在写入拼花地板文件时,将其读回数据集并调用缓存。我假设通过立即读取,我可能会使用一些现有的hdfs/spark缓存作为写入过程的一部分

备选案文2。在我的应用程序中,当我第一次需要数据集时,在读取数据集后将其缓存

备选案文3。在编写拼花地板文件时,在完成后创建一个临时视图。在所有后续使用中,请使用视图

我也不太清楚从tempview和parquet数据集中读取数据的效率

数据集不能全部放入内存。

您应该缓存数据集(选项2)

  • 写入磁盘在内存格式上不会比Spark有任何改进
  • 临时视图不缓存
您的回答是正确的,但我还要补充一点关于性能和数据位置的说明。还有为什么其他选项不是更好的选择:)@eliasah我不理解你的评论:(为什么数据局部性会影响这里的选择?问题是,因为数据不适合内存。Spark可能需要保存在磁盘上。因此,如果数据节点位于同一计算上,则需要数据对执行器是局部的,并且使用缓存机制不会有太大的改进,但如果您不想谈论,可以跳过这一点。)我宁愿你解释一下为什么其他的选择都不好:)你可能有兴趣读这篇文章