Pyspark,dask或任何其他python:如何在不破坏笔记本电脑的情况下转动大型表?

时间:2017-08-13 08:26:18

标签: pandas pyspark dask

我可以使用pandas,dask或pyspark来调整较小的数据集。

然而,当数据集超过大约200万行时,它会崩溃我的笔记本电脑。最终的透视表将有1000列和大约150万行。我怀疑在前往数据透视表的路上必须有一些超出系统内存的大量RAM使用,我不明白如何使用pyspark或dask,如果中间步骤不适合ram at一直。

我认为即使只有8gb的ram,dask和pyspark也会允许大于ram的数据集。我还认为这些库会为我提供数据,并且永远不会超过我可用的ram数量。我意识到我可以在非常小的块中读取我的巨大数据集,然后转动一个块,然后立即手动将枢轴的结果写入镶木地板或hdf5文件。这绝不应该超过ram。但是,这种手动努力不会破坏所有这些库的目的吗?我的印象是,我所描述的内容肯定包含在这些库中,或者我错了吗?

如果我有100亿行的100gb文件并希望使用笔记本电脑进行调整,甚至可以(如果需要,我可以等几个小时)。

有人可以帮帮忙吗?我会继续为此添加赏金。

请告诉我如何采取一个本身对于ram来说太大的大型镶木地板文件;将它转移到一个对于ram来说太大的表中,永远不要超过可用的ram(比如说8gb)。

#df is a pyspark dataframe
df_pivot = df.groupby(df.id).pivot("city").agg(count(cd.visit_id))

0 个答案:

没有答案