2012-08-03 73 views
1

StackOverflow上的神谕你好存储分层数据较为理想的方法,在HDF5

第一次我设法问堆栈溢出的问题,可以随意在我扔你的菜呢。 (或纠正我应该问我的问题的方式)

我有这个问题。我使用HDF5来存储海量的cookie信息。

我的数据是通过以下方式构成:

Cookie编号 - >事件 - > Key_value对

有每个Cookie编号多个事件。但每个事件只有一个key_value对。

我想知道什么是我应该存储在HDF5中的最佳方式。

目前,我使用cookieID作为表名称,将每个cookie作为单独的表存储在HDF5中的一个组中。不幸的是,对于我来说,拥有10,000,000个cookie,HDF5(或特定的PyTables)不会批准这种类型的存储。

特别是引发此错误:

/CookieData`` is exceeding the recommended maximum number of children (16384)

我想知道,如果你能推荐存储这些信息的最佳途径。

我应该创建一个平板吗?我应该保持这种方法吗?有什么我可以做的吗?

帮助表示赞赏。谢谢阅读。

+0

为什么要使用HDF5作为NoSQL数据库的理想之选? – 2012-08-07 13:46:50

+0

我要告诉你,我把它从CassandraDB中解放出来放在HDF5中会让你更加震惊。 问题是Cassandra不允许我轻松遍历数据以便进行统计分析。 – mrdevlar 2012-08-17 09:13:25

回答

2

几个小时的研究后,我发现我试图做的是绝对不可能的。

The following link提供了有关在可变长度嵌套子节点上使用HDF5的不可能性的详细信息。

我决定暂时使用一个平面文件,并希望这比数据库存储更高效。最后一个平面文件的问题是我必须复制文件中的值,否则应该不存在。

如果其他人有任何更好的想法,将不胜感激。