Spark DataFrame的检查点(持久性缓存)库 - 使用或开发 - DataFrames的确定性ID

时间:2016-10-17 12:15:48

标签: scala apache-spark spark-dataframe

当以交互方式探索火花中特定用途的数据集时(例如使用spark-shell或笔记本),您经常会想要将结果保存到磁盘上

  • 简化执行计划
  • 持久缓存(或checkpoint在RDD API中)以在另一个火花环境中使用(例如,你回家并且不想让你的火花壳保持活着)。

重点是能够在代码中相对无缝地完成(最小膨胀),有点像RDD上的checkpoint系统,但更持久。

我对图书馆有一些要求:

  1. 我需要能够在项目中clear我的缓存,部分会更好
  2. 我需要一个readOrCreate类型的函数,它可以计算DataFrame并检查它,或者读取检查点文件。
  3. 我需要在关闭spark上下文时保留这些功能
  4. 正如我所看到的,有一个棘手的问题:我需要一个确定性的ID来表示我的数据帧。我想我可以使用其中一个计划并将其哈希,但它很浅,碰撞会让使用起来非常烦人。然后,所有缓存清除,更新等仅仅是关于编码逻辑。

    这是我的问题:

    • 那里有一个已经实现了持久性缓存系统的库吗?
    • 如果没有,是否有人建议数据帧的最佳元素是什么,以便在此上下文中构建可用的确定性ID?

    编辑:Spark版本:1.6.2(虽然火花2欢迎解决方案) edit2:任何指针(例如回购或发行)也欢迎

    PS:我当然可以使用用户提供的DataFrame ID(即名称)来实现这一点,但我想避免这种情况。

0 个答案:

没有答案