HDFql使用表

时间:2018-06-01 15:36:19

标签: hdf hdfql

我对HDFql的可用性有一些疑问:

  1. HDFql是否支持创建一个行类型不同的表?
  2. 如何将数据附加到表中?
  3. 如何迭代表格中的行?
  4. 我要创建的表格中包含1到2 ^ n行的任何内容,无法事先确定。

1 个答案:

答案 0 :(得分:1)

以下是有关HDFql的问题的一些信息:

  1. 如果通过“ HDFql支持创建了一个表格,其中行的类型不同”,则表示HDFql支持复合数据类型,答案尚不清楚。

  2. 要将数据附加到数据集中(其大小无法事先确定),您必须经历几个步骤(我将假设您使用的是C编程语言):

    2.1。数据集必须是可扩展的。例如,您可以在HDFql中创建一个可扩展的数据集,如下所示(这将创建一个名为dset的整数数据类型的数据集,其大小不受限制):

  3.     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)");
    
    1. 要遍历数据集dset的行,您必须首先阅读它,然后使用函数hdfql_cursor_get_int(),如下所示:
    2.     hdfql_execute("SELECT FROM dset");
          while(hdfql_cursor_next(NULL) == HDFQL_SUCCESS)
          {
              printf("Value: %d\n", *hdfql_cursor_get_int(NULL));
          }