Я пытаюсь загрузить данные некоторых датчиков в базу данных. Я выбрал Кассандру для этой проблемы.
У меня есть n датчиков, которые дают мне для каждой записи одноколонный csv.
Я должен интегрировать эту информацию с другими полями. Это таблица, которую я разработал:
create table allsensors.recordings (
val float,
id UUID PRIMARY KEY,
sensor int,
rec_date string,
ord int
);
, где для каждого записанного значения я указываю датчик, метку времени записи и порядок (последовательность; метка времени будет одинаковой для каждого значения одной и той же записи).
Я использую Pentaho для ETL; это преобразование:
https://imgur.com/a/1Iu0Oti
Я использовал ввод текста для разбора CSV, затем добавил все остальные поля.
Когда я выполняю задание, я получаю много ошибок, так много, что не могу отследить первую обратно в списке журналов.
Странная вещь, когда я пытаюсь просто вставить только данные CSV, в таблицу с одним столбцом для целей тестирования у меня получается. Все идет гладко
Процесс точно такой же, за исключением промежуточных шагов для добавления полей в исходный столбец данных.
Я что-то упустил?
EDIT
Я нашел ошибку, я думаю, что это ошибка PDI. Сгенерированный случайным образом UUID далек от 16 байтов в соответствии с запросом Кассандры (длиной 64 байта). Замена типа первичного ключа на текст из UUID сделала свою работу.