I try to merge different JSON files, which contain this kind of data:
#file1:
{
"user1": {
"server1": 7.2,
"server2": 10.3
},
"user2": {
"server1": 15
}
}
#file2:
{
"user1": {
"server1": 8.5,
"server3": 20.5
},
"user3": {
"server1": 28
}
}
And so on (12 per hour).
These data are a list of users with the servers usage in percentage, evolving every 5 min (user may dissapear and reappear depending of resources usage).
I am under Linux and I generate these files with different Shell tools like jq.
My goal is to obtain a merged file every hour with the average load on all available data, like that (just considering the 2 files above):
#result:
{
"user1": {
"server1": 7.85,
"server2": 5.15,
"server3": 10.25
},
"user2": {
"server1": 7.5
},
"user3": {
"server1": 14
}
}
I try several queries with reduce command, but nothing works as expected.
Maybe the best approach should to parse every files, extract data and store user in different file and after merge all data?
Thank for your analyse and example.