CQL - экспорт набора UDF в другую таблицу - PullRequest
0 голосов
/ 04 апреля 2019

Допустим, у меня есть таблица meeting с некоторыми полями. Среди этих полей есть поле tasks, которое представляет собой set из task. Эта task вещь, в свою очередь, является определяемым пользователем типом .

Теперь я не хочу хранить task как поле собрания, но в собственной таблице task.

Однако в моей системе уже есть данные о собраниях, поэтому мне нужно перенести информацию о задачах из таблицы meeting в новую таблицу task.

Если бы они были похожими таблицами, я мог бы использовать COPY , как в этом другом ответе SO .

Но для этого я почти ничего не понимаю.

Что я пробовал

Не очень, к сожалению. Я попробовал это:

COPY keyspace.meeting(subtasks) to 'try.csv';

Что на самом деле экспортирует набор подзадач в файл, но потом, когда я:

COPY keyspace.subtask(name, id, ...etc ) from 'try.csv';

Я получаю сообщение об ошибке:

Столбец первичного ключа 'meetingid' отсутствует или пропущен

Это имеет смысл, поскольку в наборе нет ни meetingid, ни id.

Мне нужно указать CQL для команды COPY экспортировать каждую подзадачу в виде строки, но я нигде не нахожу эту опцию и ничего, связанное с этой проблемой.

Полагаю, я могу просто экспортировать набор строк в файл (ы) .csv, затем помассировать его языком программирования и затем скопировать их. Но это хлопотно, и я бы хотел решить эту проблему, используя только код .cql, если это возможно.

...