Я определил таблицу в Кассандре.Существует один столбец с типом данных карты.Я хочу реализовать Pivot для этого столбца таким образом, чтобы ключ стал именем столбца, а значение, связанное с этим ключом, стало значением столбца.Есть ли какой-то особый подход к этому?Должен ли я определить UDF или UDA в CQL?Определение таблицы, данные и ожидаемый результат следующие:
create table test_data(
... id int,
... product_name text,
... machine_address text,
... test_id int,
... result map<text,text>,
... PRIMARY KEY (id));
``` Table Data:
id | machine_address | product_name | result | test_id
------+-----------------+--------------+----------------------------------------------------------------------------------------------+---------
1101 | AEI-T4 | Saker | {'comment': 'Pass', 'start_time': '2018-02-06T00:00:00', 'stop_time': '2018-02-06T00:00:00'} | 124
1103 | AEI-T5 | Saker2 | {'comment': 'Pass', 'start_time': '2018-05-07T00:60:00', 'stop_time': '2018-06-07T00:00:00'} | 141
1102 | AEI-T4 | Saker1 | {'comment': 'Fail', 'start_time': '2018-02-07T00:60:00', 'stop_time': '2018-02-07T00:00:00'} | 124
The expected output after implementing Pivot on the map column 'result' should be like:
start_time | stop_time | comment
------+-----------------+--------------+------------
2018-02-06T00:00:00 | 2018-02-06T00:00:00 | Pass
2018-05-07T00:60:00 | 2018-06-07T00:00:00 | Pass
2018-02-07T00:60:00 | 2018-02-07T00:00:00 | Fail