HDFql 使用表格
HDFql working with tables
我对 HDFql 的可用性有一些疑问:
- HDFql 是否支持创建行类型不同的table?
- 如何将数据附加到 table?
- 如何遍历 table 行?
我要创建的 table 将包含 1 到 2^n 行的任何内容,并且无法事先确定。
这里有一些关于 HDFql 问题的信息:
如果通过“HDFql 支持创建的 table 其中行是不同类型 ” 你的意思是 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));
}
我对 HDFql 的可用性有一些疑问:
- HDFql 是否支持创建行类型不同的table?
- 如何将数据附加到 table?
- 如何遍历 table 行?
我要创建的 table 将包含 1 到 2^n 行的任何内容,并且无法事先确定。
这里有一些关于 HDFql 问题的信息:
如果通过“HDFql 支持创建的 table 其中行是不同类型 ” 你的意思是 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));
}