如何使用 aerospike loader 在 aerospike 中加载嵌套的 csv 文件?

hmi*_*ims 5 database csv import nested aerospike

我已将 JSON 文件转换为 CSV 格式,现在使用 aerospike 加载器在 Aerospike 中加载 CSV。我可以为简单的结构执行此操作,但是如何修改 allDatatype.json 的内容以在 Aerospike 中加载嵌套的 CSV 文件?

https://github.com/aerospike/aerospike-loader/tree/master/example

JSON 文件

{
"centers" : {
"ER" : {
"admin":{
"users" : {
  "emp1" : {
    "password" : "abcdefgh",
    "username" : "pankaj-roy"
  },
  "emp2" : {
    "password" : "12345678",
    "username" : "niketan-shah"
  }
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

mmk*_*mkd 3

我必须承认,我的理解是有限的,因为我刚刚开始研究 Aerospike,忘记了您想要将整个对象存储在一个对象中(正如上面评论中所建议的,因为这更像是一个文档存储)。相反,您需要在键值术语的世界中考虑它。我的理解是上面的 json 有效负载应该像这样存储在 Aerospike 中

Bin=users
Set=creds
Key=(username, "pankaj-roy")
bin=(password, "abcdefgh")
bin=(role, "admin")`
Run Code Online (Sandbox Code Playgroud)

那么你可以这样做:

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");
Run Code Online (Sandbox Code Playgroud)