缓存与临时视图

Caching vs Tempview

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

选项 1。在写入 parquet 文件时在数据集上读回它并调用缓存。我假设通过立即读取我可能会使用一些现有的 hdfs/spark 缓存作为写入过程的一部分。

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

选项 3。在编写 parquet 文件时,完成后从中创建一个临时视图。在后续的所有使用中,使用视图。

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

数据集无法全部放入内存。

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

  • 写入磁盘不会比 Spark 内存格式有任何改进
  • 临时视图不缓存。