问题标签 [hdf5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 科学模拟数据的数据持久化,Mongodb + HDF5?
我正在开发一个涉及多个物理和模拟器的蒙特卡罗模拟软件包。我需要进行在线分析,跟踪派生数据对原始数据的依赖性,并执行诸如“给我温度> 400 和 (x0,y0) 附近位置的波形”之类的查询。所以内存中的数据模型相当复杂。
该应用程序是用 Python 编写的,每个模拟结果都被建模为一个 Python 对象。它每小时产生约 100 个结果(对象)。大多数对象都有大量数据(几 MB 的二进制数字数组),以及一些轻型数据(温度、位置等)。总数据生成速率为每小时几 GB。
我需要一些数据持久性解决方案和易于使用的查询 API。我已经决定将大量数据(数字数组)存储在 HDF5 存储中。我正在考虑使用 MongoDB 作为对象持久性(仅限轻数据),以及在 HDF5 中索引重数据。MongoDB 的对象持久性很简单,查询接口看起来足够强大。
我知道 sqlalchemy+sqlite 选项。但是,SqlAlchemy 似乎并不自然地支持将大量数据流式传输到 HDF5,并且固定模式很麻烦。
我知道这篇文章( 搜索 HDF5 数据集),但“索引表”本身需要一些内存索引以进行快速查询。
我想知道在我加入之前是否有任何替代解决方案?还是我在计划中忽略了任何问题?
TIA。
hdf5 - HDF 是否进行字符串实习?
只是想知道我可以对组/数据集名称有多自由,或者我是否需要使名称简短(因此可读性降低)。这适用于包含许多组和数据集的 HDF5 文件,这些组和数据集具有许多重复名称。一些 XML API 将字符串实习作为优化,HDF 这样做是有意义的,但我无法从在线文档中判断是否这样做。
java - Java中的HDF5:可用API之间有什么区别?
我刚刚发现了 HDF5 格式,并且正在考虑使用它来存储分布在 Java 应用程序服务器集群上的 3D 数据。我发现有几种可用于 Java 的实现,并想知道它们之间的区别:
Java HD5 接口 (JHI5) HDF 组本身的 Java 包装器。
Nujan:纯 Java NetCDF4 和 HDF5 编写器(无法读取 HDF5)
最重要的是,我想知道:
覆盖了多少原生 API,原生 API 中不存在的任何限制?
是否支持“Parallel HDF5”?
加载 3D 数据后,每次访问 3D 数组中的一个元素时是否都会获得“本机调用开销”?也就是说,数据实际上是变成了 Java 对象,还是留在“本机/JNI 内存”中?
特定实现是否存在已知的稳定性问题,因为本机代码崩溃通常会使整个 JVM 崩溃?
hdf5 - HDF5 可以处理非标准值大小(4 位、24 位……)吗?
是否可以告诉 HDF5 数组中的数据是,例如,每个数组元素 4 位(一个字节内)或每个数组元素 24 位(32 位 int 内)?如果是这样,这实际上是否节省了任何内存或磁盘空间,或两者兼而有之?
hdf5 - HDF5可以进行“值映射”吗?
如果我有一个 32^3 的 64 位整数数组,但它只包含十几个不同的值,你能告诉 HDF5 使用“内部映射”来节省内存和/或磁盘空间吗?我的意思是使用 64 位整数可以正常访问该数组,但每个值将在内部作为字节(?)索引存储到 64 位整数表中,可能节省大约 7/8 的内存和/或磁盘空间。如果这是可能的,它实际上是节省内存、磁盘空间还是两者兼而有之?
hdf5 - HDF5:“文件缓冲区”和“文件缓存”有什么区别?
在 HDF5 库“虚拟文件层”中,我们可以在几个选项中进行选择。默认是 SEC2,它是一个“没有系统缓冲”的 POSIX 驱动程序 - 您也可以选择 DIRECT,它是 POSIX 的一种变体,“除了文件是在不被系统缓存的情况下写入的”。
那么,文件缓冲区和文件缓存有什么区别呢?对我来说,这听起来很像同一件事。
c++ - 将 boost::multi_array 写入 hdf5 数据集
是否有任何库或头文件可用于轻松将 c++ 向量或 boost::multi_arrays 写入 HDF5 数据集?
我查看了 HDF5 C++ 示例,它们只是使用 c++ 语法来调用 c 函数,并且它们只将静态 c 数组写入其数据集(参见 create.cpp)。
我错过了重点!?
非常感谢,亚当
matlab - 使用 MATLAB 从 H5 文件中读取字符串
我需要使用 matlab 从 H5 数据中读取质量标志(好、坏、警告)等字符串字符,与在 idl 中读取的数据类似,但它不起作用。我正在使用matlab2009a版本。请让我知道我是否可以将h5文件的字符串读取为“字节数组”并为字符标志输入0,1,2等数字(好,小心,坏)。我可以读取除字符串之外的其他参数,例如 lat、lon、数据(所有数字)。感谢你的帮助。
对于一个鸡蛋'
我感谢您的帮助。
python - Creating of HDF5 file of SPSS file for and by Python
What is the easiest way to create a HDF5-file of an SPSS-file by Python?
python - 无法安装 PyTables
我正在尝试使用其中一个easy_install
或两个尝试安装 PyTables,pip
但两次尝试都以相同的错误结束:
error: Command "gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DNDEBUG=1 -DHAVE_LZO2_LIB=1 -DHAVE_BZ2_LIB=1 -Iblosc -I/usr/lib/pymodules/python2.7/numpy/core/include -I/usr/include/python2.7 -c src/H5ARRAY.c -o build/temp.linux-x86_64-2.7/src/H5ARRAY.o -Isrc -DH5_USE_16_API" failed with exit status 1
我已经安装了所有依赖项。
- 发现安装了 numexpr 1.4.2 包。
- 发现安装了 Cython 0.14.1 包。
- 找到 HDF5 标头
/usr/include
,库位于/usr/lib
. - 找到 LZO 2 标头
/usr/include
,库位于/usr/lib
。 - 由于已发现 LZO 2,因此跳过了对 LZO 1 的检测。
- 在 中找到 bzip2 标头,在
/usr/local/include
中找到库/usr/local/lib
。
但仍然有一个警告:
.. WARNING:: Could not find the bzip2 runtime. The bzip2 shared library was *not* found in the default library paths. In case of runtime problems, please remember to install it.
此警告是否有可能阻止成功安装 PyTables?