我有点困惑,不知道我是不是以正确的方式做到了。我有通过API发送的任意json数据,我开发了一种算法,可以将数据转换为能够编写适合cassandra柱状方法的数据。我有点困惑,不知道它是否写入数据的写入方式,因为我必须使用ad-hoc来查询数据。这是一个例子:
{'sales': 'HP-Laptop', 'location': 'NY', 'working': 'Yes'}
String content = input.getString(0);
JSONObject ob = new JSONObject(content);
Map<String,String> map = new HashMap<String,String>();
ObjectMapper mapper = new ObjectMapper();
try{
map = mapper.readValue(ob.get("content").toString(), new TypeReference<HashMap<String,String>>(){});
}catch(IOException e){
e.printStackTrace();
}
UUID uuid = UUID.randomUUID();
MutationBatch _mutation = _m;
for (Map.Entry<String, String> entry : map.entrySet()) {
_mutation.withRow(EMP_CF, uuid.toString()).putColumn(entry.getKey(), entry.getValue(), null);
}
try {
OperationResult<Void> result = _mutation.execute();
} catch (ConnectionException e) {
logger.error("failed to write data to C*", e);
throw new RuntimeException("failed to write data to C*", e);
}
logger.debug("insert ok");
ad-hoc逻辑就是这样,让所有行都有这个列:&#39; sales&#39;其中sales列对每个插入的记录具有不同的值。我正在使用风暴拓扑和astyanax驱动程序来执行此操作。
非常欢迎建议和建议。
Ebot。