この場合、辞書を使用します。私は辞書がうまくスケールアップすると感じます。クエリはuser_idにあるので、私はそれをキーにします。
構造はこれを達成するために
{
'user_id-xyz': {
'id':'id-1212',
'boolarray':[True,False,..],
},
'user_id-abc':{
...
}
}
ようなものだ、私はnumpyのカスタムデータ型のために行くかもしれません。
element = np.dtype([('id', 'i16'), ('boolarray', 'b',(64,1))])
f = h5py.File('foo.hdf5','w')
dset = f.create_dataset("blocky", (1000000,), dtype='V79') # 64(bools)+15(for id)
grp = f.create_group("user_id-xyz")
# create subgroups for each id.
subdataset = grp.create_dataset('ele',(1,),dtype=element)
# test of membership.
'user_id-xyz' in f
# retrieval
f.get('user_id-xyz')
# all keys.
f.keys()
全体的に、私はこれがあなたに役立つことを願っています。
これらのオブジェクトを保存するにはどうすればよいですか?私の知る限り、hdf5はnumpy配列を使用して格納します。 –
私は本当にh5pyタグに気付かなかった。しかし、docsを見ると、私はuser_idをグループとして使用します。その中に私はブール配列を持っているでしょう。 idを表す最初のn桁。 idの大きさは? – Vasif
2^10または2^15が最も可能性があります。 –