我有一个相当大的HDF5文件,其中存储(除其他外)一个大的时间序列数据集,其中有150名参与者的眼睛跟踪数据。
In [20]: f['data_collection/events/eyetracker/BinocularEyeSampleEvent/']
Out[21]: <HDF5 dataset "BinocularEyeSampleEvent": shape (8297323,), type "|V178">
我不能把这些都读入内存,因为它太大了,但我怎么能把它的一部分读出来呢?
我想这样做-一次读取一个参与者(参与者的columnname是“name”),执行一些操作并保存到较小的数据帧:
^{pr2}$我该怎么做?我用h5py来读取HDF5文件。
/马丁
你的问题看起来像一个Map Reduce算法。因为你有巨大的数据集,你应该把你的数据转换成一个MapReduce算法,这个算法输出你在hadoop集群上关心的数据的键值对。这样你可以处理很多数据。查看此链接以获取帮助:
http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/
Hadoop也使用HDFS,所以它可能会对您有所帮助。映射器只处理您关心的数据,并输出key、value和reducer进行一些聚合。在
相关问题 更多 >
编程相关推荐