当以交互方式探索火花中特定用途的数据集时(例如使用spark-shell或笔记本),您经常会想要将结果保存到磁盘上
checkpoint
在RDD API中)以在另一个火花环境中使用(例如,你回家并且不想让你的火花壳保持活着)。重点是能够在代码中相对无缝地完成(最小膨胀),有点像RDD上的checkpoint
系统,但更持久。
我对图书馆有一些要求:
clear
我的缓存,部分会更好readOrCreate
类型的函数,它可以计算DataFrame并检查它,或者读取检查点文件。正如我所看到的,有一个棘手的问题:我需要一个确定性的ID来表示我的数据帧。我想我可以使用其中一个计划并将其哈希,但它很浅,碰撞会让使用起来非常烦人。然后,所有缓存清除,更新等仅仅是关于编码逻辑。
这是我的问题:
编辑:Spark版本:1.6.2(虽然火花2欢迎解决方案) edit2:任何指针(例如回购或发行)也欢迎
PS:我当然可以使用用户提供的DataFrame ID(即名称)来实现这一点,但我想避免这种情况。