2012-08-03 70 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的不可能性的詳細信息。

我決定暫時使用一個平面文件,並希望這比數據庫存儲更高效。最後一個平面文件的問題是我必須複製文件中的值,否則應該不存在。

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