spark 1.6 sqlContext.read.json会触发操作吗?如何避免这种情况



读取带有json格式记录的序列文件。

  1. 读取输入序列文件
  2. sqlcontext.read.json()以转换为数据帧
  3. 从上面的数据帧和缓存中选择子集数据

我面临的问题是,当spark进入步骤2时,它似乎触发了操作,从而读取输入数据并创建数据帧。

但当我进入步骤3时,由于它是实现DF的缓存触发动作,它再次读取输入数据,因此浪费了两次读取输入数据的时间。

我不想缓存输入数据。

如何避免两次读取输入数据?

一种替代方案是保存sqlcontext.read.json()之后读取的数据帧并进行回读,然后为后续进程进行缓存。

您可以执行dataframe checkpointing或将其保存到HDFS以实现这一点。

这将消除对输入序列文件的多次读取

相关内容

  • 没有找到相关文章

最新更新