我已将JSON文件转换为CSV格式,现在使用aerospike loader在Aerospike中加载CSV。我可以为简单的结构做这个,但是如何修改allDatatype.json的内容以在Aerospike中加载嵌套的CSV文件?
https://github.com/aerospike/aerospike-loader/tree/master/example
JSON FILE
{
"centers" : {
"ER" : {
"admin":{
"users" : {
"emp1" : {
"password" : "abcdefgh",
"username" : "pankaj-roy"
},
"emp2" : {
"password" : "12345678",
"username" : "niketan-shah"
}
}
}
}
}
}
CSV文件
centers.ER.admin.users.emp2.username,centers.ER.admin.users.emp2.password, centers.ER.admin.users.emp1.username,centers.ER.admin.users.emp1.password
niketan-shah,12345678,pankaj-roy,abcdefgh
答案 0 :(得分:3)
我必须承认的理解是有限的,因为我刚刚开始研究Aerospike就是忘记你想要将整个对象存储在一个中(正如上面评论中所建议的那样,因为这更像是一个文档存储)。相反,你需要在键值术语的世界中考虑它。我的理解是你上面的json有效负载应该存储在Aerospike中,如此
Bin=users
Set=creds
Key=(username, "pankaj-roy")
bin=(password, "abcdefgh")
bin=(role, "admin")`
然后你可以这样做:
user_key = new Key("users", "creds", username);
user_records = client.get(null, user_key);
console.printf("username: " + user_records.getValue("username") + "\n");
console.printf("password: " + user_records.getValue("password") + "\n");