JSON文件加载到Cassandra 3.0.10

时间:2017-04-30 15:36:13

标签: cassandra cassandra-3.0

是否可以将整个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> 
);

有人可以就上述问题向我提供指导。我错过了什么吗?请指导我。

提前致谢。

0 个答案:

没有答案