为jupyter缓存spark数据帧
isparkcache的Python项目详细描述
在ipython笔记本中定义要缓存的%sparkcache单元格魔术 持久化中持久计算的数据帧和输出 Hadoop中的拼花文件。当笔记本中的某些计算是 很长,并且您希望轻松地将结果保存到文件中。
基于ipycache模块。
安装
- pip install isparkcache
用法
在ipython/jupyter中:
%load_extisparkcache
然后,使用以下命令创建单元格:
%%sparkcachedf1df2df=...df1=sql.createDataFrame(df)df2=sql.createDataFrame(df)
第一次执行此单元格时,将执行代码,并且 数据帧df1和df2保存在 /user/$USER/sparkcache/mysparkapplication/df1和 /user/$USER/sparkcache/mysparkapplication/df2。当你执行 这个单元格,代码被跳过,数据帧从 拼花地板并注入到名称空间中,输出是 在笔记本中还原。
使用--force或-f选项强制执行单元格 覆盖文件。
使用--read或-r选项来阻止单元格的执行 总是从缓存中加载变量。引发异常 如果文件不存在。
使用--cachedir或-d选项指定缓存 目录。默认目录:/user/$USER/sparkcache。你可以 在 配置文件(通常在 ~\.ipython\profile_default\ipython_config.py)通过添加 下一行:
c.SparkCacheMagics.cachedir = “/path/to/mycache”
如果默认缓存目录和--cachedir选项都是 给定,使用后者。