我们说我有两列的表格
primary key
:id - 类型varchar
和non-primary-key
:数据 - 类型text
数据列仅包含json
值,例如:
{
"name":"John",
"age":30
}
我知道我无法将此列更改为map
类型,但也许我可以使用map
列中的值添加新的data
列,或者您可能有其他想法?
我该怎么办?我希望此表中的map
列包含data
答案 0 :(得分:1)
您可能希望使用CQL COPY命令将所有数据导出到CSV文件。
然后更改您的表并创建一个map
类型的新列。
将导出的数据转换为包含UPDATE
语句的另一个文件,其中只更新新创建的列,其值从JSON转换为map
。对于转换,请使用您选择的工具或语言(无论是bash,python,perl还是其他)。
顺便说一句,请注意,使用map
指定地图的关键字数据类型以及地图的值是什么数据类型。因此,您最有可能仅限于使用字符串,如果您想要通用,即map<text, text>
。考虑这是否适合您的用例。