Comments (6)
Why does 0_1 have a url key but 0_0 does not?
How about using the same storage methods (e.g. CHUNK_REF_INDIRECT, etc.) that HSDS uses?
Another idea would be to have an option to store the chunk data directly in the file (hex encoded). So offset would be a byte office in the file itself. This is what ASDF does.
from hdf5-json.
I think byteBlocks
should have a key whose value indicates the blocking scheme, which would also explain how to interpret the block keys. Right now, the assumption appears to be that there's one block per chunk. That's not very flexible. Remember Francesc's sub-blocking scheme for Blosc for better selectivity, etc.? There also might be sparse chunks at some point.
from hdf5-json.
Why does 0_1 have a url key but 0_0 does not?
Just illustrate both possible options. In a real case, only one would be used.
How about using the same storage methods (e.g. CHUNK_REF_INDIRECT, etc.) that HSDS uses?
Does this require an additional anonymous dataset?
from hdf5-json.
H5D_CHUNKREF and H5D_CHUNKREF_INDIRECT are documented here: https://github.com/HDFGroup/hsds/blob/master/docs/design/single_object/SingleObject.md.
from hdf5-json.
H5D_CHUNKED_REF
could work, although "chunk" is a very important term and some may find it confusing in this context.
from hdf5-json.
Here's the updated example. It includes H5D_CHUNKED_REF
as layout and new index_schema
key inside byteBlocks
.
The block index schema is defined with a URI and its index separator is included as well for convenience. There are also url
keys to illustrate both cases: a single resource with all the blocks or different resources for each block.
{
"datasets": {
"7f335a2e-7ab1-11e4-87a5-3c15c2da029e": {
"attributes": [],
"dcpl": {
"fillValue": 0,
"layout": {
"class": "H5D_CHUNKED_REF",
"dims": [8]
}
},
"shape": {
"class": "H5S_SIMPLE",
"dims": [10, 10],
"maxdims": [10, 10]
},
"type": {
"base": "H5T_STD_I32BE",
"class": "H5T_INTEGER"
},
"url": "s3://mybucket/path/to/object/where/all/blocks/are",
"byteBlocks": {
"index_schema": {
"uri": "https://schema.hdfgroup.org/hdf5-json/block/index/regular",
"separator": "_"
},
"0_0": {
"offset": 1234,
"size": 2567,
"url": "s3://mybucket/path/to/block/object1"
},
"0_1": {
"offset": 56789,
"size": 1967,
"url": "s3://mybucket/path/to/block/object2"
}
}
}
}
}
from hdf5-json.
Related Issues (20)
- Support Python 3 HOT 9
- h5tojson fails to convert file that has loop among groups. HOT 1
- hdf5tojson fails for comp_complex.h5 HOT 1
- Use templates for code generation utilities HOT 3
- jsontoh5 fails for enum types HOT 1
- h5tojson fails with SNDR data file HOT 2
- Can h5tojson suppress fill value?
- Tests don't run under windows HOT 2
- Support Opaque Types
- Source for h5json-1.1.0 is unavailable HOT 2
- jsontoh5.py fails on converting json file HOT 1
- security bug in pip version? HOT 3
- Add a command line option to jsontoh5 to specify the library version when creating a file
- Installation problem with h5serv HOT 2
- h5tojson_test raises "no attribute 'get_create_plist'" exception while converting several test files HOT 1
- Error after switching to Apple M1 HOT 2
- "jsontoh5 data/json/comp_complex.json" error
- h5tojson fails with Type Error HOT 7
- h5jvalidate does not run due to missing h5json.schema HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hdf5-json.