我对 HDFql 的可用性有一些疑问:
- HDFql 是否支持创建行类型不同的表?
- 如何将数据附加到表中?
- 你如何迭代行做表?
我要创建的表将包含 1 到 2^n 行的任何内容,并且无法事先确定。
以下是有关您对HDFql问题的一些信息:
如果通过“ HDFql support created of a table where the row is different type ”你的意思是 HDFql 支持复合数据类型,答案还没有。(编辑:因为现在支持 HDFql 版本 2.2.0 复合数据类型)
要将数据附加到数据集(无法事先确定其大小),您必须经过几个步骤(我假设您使用的是 C 编程语言):
2.1。数据集必须是可扩展的。例如,您可以在 HDFql 中创建一个可扩展的数据集,如下所示(这将创建一个名为dset整数数据类型且大小不受限制的数据集):
hdfql_execute("CREATE CHUNKED DATASET dset AS INT(UNLIMITED)");
2.2. 使用 hyperslab在数据集的最后一行写入一个值,dset如下所示(替换my_value为您要写入数据集的整数):
hdfql_execute("INSERT INTO dset(-1:1:1:1) VALUES(my_value)");
2.3. 将值写入数据集后dset,如果有更多值要写入,首先增加(即改变)维度一个单位,如下所示,然后重复步骤 2.2:
hdfql_execute("ALTER DIMENSION dset TO +1");
dset,您必须先读取它,然后使用hdfql_cursor_get_int()如下函数: hdfql_execute("SELECT FROM dset");
while(hdfql_cursor_next(NULL) == HDFQL_SUCCESS)
{
printf("Value: %d\n", *hdfql_cursor_get_int(NULL));
}