是否可以将整个JSON文件加载到Cassandra表?我的表模式已经定义了一个关键字段和一个映射字段。我的输入json文件(json_input.dat)看起来像这样
{"id": 123, "map_value": {"name":"aaa","address":"xyz","phone":"123-345-5678"}},{"id": 456, "map_value": {"name":"bbb","address":"zzz","phone":"523-645-5678"}}
我尝试了几件事
1。)使用COPY命令从上面的json文件插入 - 这完全没有用 2.)在插入查询中直接给出相同的文本 - 仅插入第一条记录并跳过第二条记录
是否可以将带有多个记录的json文档一次性插入到cassandra表中?或者我应该编写一些自定义代码来从json文件中获取每个记录并进行插入吗?
我创建了另一个表,其中一个键字段为十进制而不是地图类型,使用的是blob数据类型。我尝试给出blob数据类型,以确保嵌套的json字符串可以插入到列中。下面是我试过的插入查询
insert into tbl_jsonTest json '{"id": 123, "map_value": {"name":"aaa","address":"xyz","phone":"123-345-5678"}}';
我收到以下异常
InvalidRequest: Error from server: code=2200 [Invalid query] message="Error decoding JSON value for map_value: Value '{"name":"aaa","address":"xyz","phone":"123-345-5678"}' is not a valid blob representation: String representation of blob is missing 0x prefix
我的表架构:
CREATE TABLE tbl_jsonTest (
id decimal PRIMARY KEY,
map_value map<text, text>
);
有人可以就上述问题向我提供指导。我错过了什么吗?请指导我。
提前致谢。