美文网首页
python vaex处理大数据集

python vaex处理大数据集

作者: 刘小白DOER | 来源:发表于2021-10-30 15:16 被阅读0次

    今天来测试python的大数据集的vaex库。vaex采取内存映射,不占用内存,适合大数据处理,可以在百亿级数据集上进行秒级的统计分析 。

    阿里云上下载了数据集“新闻文本分类数据集”来进行三个测试。

1、pandas读取csv文件

    先使用pandas来测试,打开train_set.csv数据集需要10.8秒,同时任务管理器上内存已经显示增加到快1G 。

2、vaex直接读取CSV文件

    直接使用vaex读取整个CSV文件,这样操作其实和pandas没啥区别,时间和内存使用量几乎类似。vaex只能把csv只能读到内存中。

3、vaex将CSV转换为HDF5后读取

    读取原始csv文件并存储为vaex的hdf5的数据结构,hdf5可以惰性读取。在转换时内存消耗差不多也是一个G左右,时间需要一分钟。

    如果数据量较大,可以指定chunk_size参数指定要读取的单个块的大小。比如:vaex.from_csv("train_set.csv",convert=True,chunk_size=10_000) ,表示生成的每个临时文件包含1万条数据,不过最终这些临时文件都会被删除只保留一个经过合并后最终的HDF5文件。chunk_size参数指定后,转换的时间会增加,但是对内存是十分友好的。

        转换后,我们再次打开这个新生成的train_set.csv.hdf5文件,消耗的时间非常短,内存消耗只有126M。

相关文章

网友评论

      本文标题:python vaex处理大数据集

      本文链接:https://www.haomeiwen.com/subject/vkuwaltx.html