Default Values in tileDB arrays

Is there the possibility of having a default value, when creating an array, that when I am trying to read from it and I haven’t actually written anything into the array, I still get back that default value.

Hi there. Yes, it is at the top of our list. A quick question: do you want to use a dense or a sparse array?

Addressed by this PR: https://github.com/TileDB-Inc/TileDB/pull/1666

I am using a sparse array.

For a sparse array, there is no notion of cells with default values. TileDB materializes on disk only non-empty cells in the sparse case by definition, and therefore also returns only non-empty cells when slicing. Therefore, if a sparse array is empty, TileDB should not return any cells.

Do you mean instead that you’d like TileDB to return the cells from a sparse arrays in dense form? That is, write on disk only non-empty cells, but when you slice the array you can get a dense representation, which will naturally have default values for the empty cells?

I have a similar need, and what you suggest is what the desired behavior would be - get a dense result out of a sparse array (in my case, with empty cells filled with a 0). Use case is displaying the interval - of course I can fill in a zero-filled numpy array with what I get from tiledb, but it would be nice if getting the output directly was supported.

Is this currently possible?

1 Like

No it is not supported currently, but it is in our roadmap. We’ll hopefully have an update soon.

Cool thanks - easy to work around in the mean time - also, is there a public roadmap somewhere?

We have a feedback site: https://feedback.tiledb.com/

Would you like to suggest this feature there? We are planning on keeping that up-to-date.