Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Dask:为以后使用而对数据帧进行pickle是否安全?_Python_Dask - Fatal编程技术网

Python Dask:为以后使用而对数据帧进行pickle是否安全?

Python Dask:为以后使用而对数据帧进行pickle是否安全?,python,dask,Python,Dask,我有一个类似数据库的对象,其中包含许多dask数据帧。我想处理数据,保存数据,并在第二天重新加载数据以继续分析 因此,我尝试使用pickle保存dask数据帧(不是计算结果,只是“计算计划”本身)。显然,它是有效的(至少,如果我在同一台机器上解钩对象的话)。。。但是否存在一些陷阱 一般来说,它通常是安全的。然而,有几个警告: 如果dask.dataframe包含自定义函数,例如withdf.apply(lambda x:x),则内部函数将不可pickle。但是,它仍然可以使用序列化 如果您的da

我有一个类似数据库的对象,其中包含许多dask数据帧。我想处理数据,保存数据,并在第二天重新加载数据以继续分析

因此,我尝试使用pickle保存dask数据帧(不是计算结果,只是“计算计划”本身)。显然,它是有效的(至少,如果我在同一台机器上解钩对象的话)。。。但是否存在一些陷阱

一般来说,它通常是安全的。然而,有几个警告:

  • 如果dask.dataframe包含自定义函数,例如with
    df.apply(lambda x:x)
    ,则内部函数将不可pickle。但是,它仍然可以使用序列化
  • 如果您的dask.dataframe包含对仅在本地计算机上有效的文件的引用,则尽管它仍然可以序列化,但在另一台计算机上重新序列化的版本可能不再有用
  • 如果您的dask.dataframe包含
    dask.distributed
    Future
    对象,例如在集群上使用
    Executor.persist
    时会出现的对象,则这些对象当前不可序列化
  • 我建议使用>=0.11.0的版本
    您可以在任何计算机上取消勾选并获得相同的结果。因此,是否足以确保数据帧的基础数据可以在相同路径下访问,然后应该是安全的?是的,应该是安全的。Pickle保存将对象恢复到与Pickle时相同的状态所需的一切。我们有相同的用例。希望在公司内的数据科学家之间共享计算。我们正在考虑的体系结构是对dask数据帧(执行计划)进行酸洗,并将其存储在键值存储中。以后它应该可以在不同的集群上执行。第3点仍然是这样吗?如果是的话,你能指导我在这方面进行公关吗?