Hi Antonio,

Now that you mention it I think that you are right that there is no way to
remove a chunk from an existing data set.  If you think about this it makes
a lot of sense since you would have to alter the B-tree in strange and
unfortunate way.  So HDF5 doesn't even try.  However, you can fake it by
copying over only the data you want to keep, deleting the old data set, and
repacking.  Or you can fake it by copying over the data you want to keep to
a new file.  Neither of these are ideal, but they would work.

For existing data sets, especially if you are using compression, setting
all of the contents of a chunck to to same value should work
extraordinarily well.

Be Well
Anthony


On Mon, Aug 5, 2013 at 11:29 PM, Antonio Valentino <
antonio.valent...@tiscali.it> wrote:

> Hi Anthony, hi Giovanni,
>
> Il giorno 06/ago/2013, alle ore 00:45, Anthony Scopatz <scop...@gmail.com>
> ha scritto:
>
> >
> > On Mon, Aug 5, 2013 at 3:14 PM, Giovanni Luca Ciampaglia <
> glciamp...@gmail.com> wrote:
> > Hi Anthony,
> >
> > what do you mean precisely? I tried
> >
> > del ca[:,:]
> >
> > but CArray does not support __delitem__. Looking in the documentation I
> could
> > only find a method called remove_rows, but it's in Table, not CArray.
> Maybe I am
> > missing something?
> >
> > Huh, it should...  This is definitely an oversight on our part.  If you
> could please open an issue for this -- or better yet -- write a pull
> request that implements delitem, that'd be great!
> >
> > So I think you are right that there is no current way to delete rows
> from a CArray.  Oops!  (Of course, I may still be missing something as
> well).
> >
> > It looks like EArray also has this problem too, otherwise I would just
> tell you to use that.
>
> I'm not sure to understand the problem.
>
> The "truncate" method of arrays can be used to remove rows from an
> extendable array.
> It seems to me that it is not documented but we should add it to the UG.
>
> CArrays cannot be resized.
>
> >
> > Be Well
> > Anthony
> >
> >
> > Thank,
> >
> > Giovanni
> >
> > On Mon 05 Aug 2013 03:43:42 PM EDT,
> pytables-users-requ...@lists.sourceforge.net
> > wrote:
> > >
> > >> Hello Giovanni, I think you may need to del that slice and then
> possibly
> > >> repack. Hope this helps. Be Well Anthony On Mon, Aug 5, 2013 at 2:09
> PM,
> > >> Giovanni Luca Ciampaglia < glciamp...@gmail.com> wrote:
> > >>> Hello all,
> > >>>
> > >>> is there a way to clear out a chunk from a CArray? I noticed that
> setting
> > >>> the
> > >>> data to zero actually takes disk space, i.e.
> > >>>
> > >>> ***
> > >>> from tables import open_file, BoolAtom
> > >>>
> > >>> h5f = open_file('test.h5', 'w')
> > >>> ca = h5f.create_carray(h5f.root, 'carray', BoolAtom(),
> shape=(1000,1000),
> > >>> chunkshape=(1,1000))
> > >>> ca[:,:] = False
> > >>> h5f.close()
> > >>> ***
> > >>>
> > >>> The resulting file takes 249K ...
> > >>>
> > >>> Best,
> > >>>
> > >>> --
> > >>> Giovanni Luca Ciampaglia
>
>
> HDF5 handles efficiently chunks that have never been written saving some
> disk space but I doubt that chunks can be "de-initializad".
> If my understanding is correct, once one write some value in a chunk (even
> if it is the default value) the chunk is allocated at HDF5 level and
> written to disk.
> At they point one can only change item values.
> Also I doubt that a repack can help in this case (not tested).
>
> The only solution IMO is compression.
>
>
> cheers
>
> --
> Antonio Valentino
>
>
>
> ------------------------------------------------------------------------------
> Get your SQL database under version control now!
> Version control is standard for application code, but databases havent
> caught up. So what steps can you take to put your SQL databases under
> version control? Why should you start doing it? Read more to find out.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
> _______________________________________________
> Pytables-users mailing list
> Pytables-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pytables-users
>
>
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Pytables-users mailing list
Pytables-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pytables-users

Reply via email to