Damiano
07/23/2020, 2:01 PMaggregateGroupBySV()
) before working on it (i am trying to do a similar thing that window functions do). I know that a Server has more segments and the documents order in segments could be random.... BUT if i have all the documents of that specific key in the same server i could avoid sorting again everything in extractFinalResult()
that is called at Broker level. I know there is a merge()
method used to merge all the results of each segment, if i can do something after that MERGE i can shift all the computation process at the Server level instead of Broker and i think it is an important thing, otherwise the Broker should work with all the results of each Server and then sort+compute (in my case).Neha Pawar
Damiano
07/23/2020, 5:22 PMWhen the data is partitioned on a dimension, each segment will contain all the rows with the same partition value for a partitioning dimension
that's ok, but does it really means that ALL memberId = 101
(example on the doc) will be stored in the same server? As i wrote, it is an important thing because working with a kind of window functions i must: (A) see the entire data, (B) sort by a specific column too (C) then compute the logic of my aggregation. If i also need to work with documents that are coming from different server too i must move the login in extractFinalResult() (so in the broker).Damiano
07/23/2020, 5:24 PMmerge()
method will receive? partitions data or segments data? and then... is there a way to add logic before sending result to broker? something just after merge().
Neha Pawar
but does it really means that ALLÂ memberId = 101 (example on the doc) will be stored in the same server
- hmm, i dont think so. one key will be restricted to a segment, but that key can still be on multiple servers.Neha Pawar
Damiano
07/23/2020, 7:14 PMJackie
07/23/2020, 7:19 PMJackie
07/23/2020, 7:21 PM"instanceAssignmentConfigMap": {
"OFFLINE": {
...
"replicaGroupPartitionConfig": {
"replicaGroupBased": true,
"numReplicaGroups": 3,
"numInstancesPerReplicaGroup": 4,
"numPartitions": 4,
"numInstancesPerPartition": 1
}
}
},
Damiano
07/23/2020, 7:38 PMDamiano
07/23/2020, 7:39 PMJackie
07/23/2020, 7:41 PMJackie
07/23/2020, 7:41 PMJackie
07/23/2020, 7:43 PMJackie
07/23/2020, 7:45 PM"routing": {
"instanceSelectorType": "replicaGroup"
},
Damiano
07/23/2020, 7:50 PMDamiano
07/23/2020, 7:51 PMNeha Pawar
Jackie
07/23/2020, 9:29 PMJackie
07/23/2020, 9:29 PMJackie
07/23/2020, 9:31 PMJackie
07/23/2020, 9:34 PMmerge()
method, the merge of segment results is performed inside the CombineOperator
, and then the merged result will be serialized back to broker as a DataTable
Neha Pawar
Jackie
07/23/2020, 10:03 PMJackie
07/23/2020, 10:04 PMDamiano
07/24/2020, 8:04 AM