0
두 개의 색인을 만들었지 만 vertex.setProperties()
을 호출하려고하면 "given name does not exist."라는 메시지가 나타납니다. 나는 ElementHelper.setProperties(vertex,flied[i],DataType.toString(objList.get(i)));
내 프로그램은 항상 '존재하지 않는 지정된 이름의 키를'반환 실행하면주어진 이름을 가진 Titan Key가 존재하지 않습니다.
initDB
public void tstInitHBase() {
Configuration conf = new BaseConfiguration();
conf.setProperty("storage.backend", "hbase");
conf.setProperty("storage.hostname", "192.168.22.209");
conf.setProperty("storage.port", "2181");
conf.setProperty("storage.tablename", "social_map");
conf.setProperty("cache.db-cache", "true");
conf.setProperty("cache.db-cache-clean-wait", "20");
conf.setProperty("cache.db-cache-time", "180000");
conf.setProperty("cache.db-cache-size", "0.5");
GraphDatabaseConfiguration graphconfig = new GraphDatabaseConfiguration(conf);
try {
graphconfig.getBackend().clearStorage();
} catch (StorageException e) {
e.printStackTrace();
throw new RuntimeException("Techvalley:ERROR 清空数据库失败");
}
TitanGraph graph = TitanFactory.open(conf);
graph.makeKey("PKID").dataType(String.class).indexed(Vertex.class).unique(UniquenessConsistency.LOCK).make();
graph.makeKey("CN_NAME").dataType(String.class).indexed(Vertex.class).make();
graph.makeKey("EDGE_PEERS_WEIGHT").dataType(Long.class).indexed(Edge.class).make();
graph.commit();
}
데이터 삽입 돼지
//objList structure is like (uuid,cn_name,gender,..)
vertex = tx.getVertex(DataType.toString(objList.get(0)));
if (vertex == null) {
logger.info("create node");
vertex = tx.addVertex(DataType.toString(objList.get(0)));
vertex.setProperty(flied[0], DataType.toString(objList.get(0)));
}
/**
*
* */
for (int i = 1; i < flied.length; i++) {
switch (DataType.findType(objList.get(i))) {
case DataType.NULL:
logger.info("cache" + flied[i] + " " + DataType.toString(objList.get(i)));
ElementHelper.setProperties(vertex, flied[i],DataType.toString(objList.get(i)));
break;
case DataType.CHARARRAY:
logger.info("cache" + flied[i] + " " + DataType.toString(objList.get(i)));
ElementHelper.setProperties(vertex, flied[i],DataType.toString(objList.get(i)));
break;
default:
break;
}
}
과 : 다음은 내 코드입니다.
아이디어가 있으십니까?
돼지없이 데이터를 삽입 할 수 있습니까? 예를 들어, Titan Console에서 삽입하면 작동합니까? –