I’m investigating using HDFql. This would be for integration into an existing Java project, running on Windows.
In my usage, within the same JVM, I would need to allow for accessing (readonly) multiple HDF files concurrently and independently;. The program would allow the user to open multiple files independently, and processing of the HDF files would occur independently on different threads.
Based on my initial investigations, it seems that all parts of the Java code will access the same static methods (e.g. HDFql.execute()); and that “USE FILE” will effectively set the supplied file as the “active” file (so that any existing access to another file would be invalidated). So it seems that I could not implement my use case of allowing acces to multiple HDF files concurrently and independently.
I see that USE FILE allows multiple files to be supplied; and SELECT, SHOW etc allow the file name to be specified. However, in my case, I won’t be able to supply multiple files (because the user might open any file at any time), and instead would need to supply files individually and successively, as the user opens each files.
Is my use case possible via some means?
Thanks - Calum
Hi @calum.maclean,
HDFql does not support multi-threading since it uses the HDF5 C library, which is currently not designed to support this type of parallelization. That said, if you could make your program multi-processing instead, then it would be possible to execute HDFql/HDF5 in parallel without any issues.
Hope it helps!