HDFql работает с таблицами - PullRequest
0 голосов
/ 01 июня 2018

У меня есть вопрос по удобству использования HDFql:

  1. Поддерживает ли HDFql создание таблицы, в которой строки имеют разные типы?
  2. Как добавить данные вtable?
  3. Как вы выполняете итерации, хотя строки выполняют таблицу?

Таблица, которую я хочу создать, будет содержать от 1 до 2 ^ n строк и не может быть определена заранее.

1 Ответ

0 голосов
/ 02 июня 2018

Вот некоторая информация относительно ваших вопросов о HDFql :

  1. Если с помощью " HDFql поддерживается создание таблицы, в которой строки имеют другой тип "Вы имеете в виду, что HDFql поддерживает составной тип данных, ответ пока нет.

  2. Чтобы добавить данные в набор данных (где его размер не может быть определен заранее), вам необходимовыполните несколько шагов (я предполагаю, что вы используете язык программирования C):

    2.1.Набор данных должен быть расширяемым.Например, вы можете создать расширяемый набор данных в HDFql следующим образом (это создает набор данных с именем dset целочисленного типа данных с неограниченным размером):

    hdfql_execute("CREATE CHUNKED DATASET dset AS INT(UNLIMITED)");

2.2.Запишите значение в последнем ряду набора данных 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));
    }
...