We have the following problem:
We have a schema of events with the following fields: eventId, platform, userId.
We use hyperloglog over the userId field during ingestion to allow us to perform queries with hyperUnique aggregator over userId field such as: number of unique users who performed a specific event, or number of unique users who came from each platform.
We now face a situation where a userId can change and several userIds now map to a new userId. so for example:
U123 performed event E1. Then U789 performed event E1, then U123 changed its id to U234 and performed E1 again.
so the records that enter our schema are:
E1, mobile, U123
E1, desktop, U789
E1, mobile, U234
When performing the query to get the number of unique users who performed E1 we expect to get:
E1 - 2 unique users
and when performing the query of number of unique users who came from each platform we expect to get:
desktop-1 unique user
mobile-1 unique user
Is there a way to pass a lookup map such as (U234 -> U123) to the hyperUnique aggregator itself so that the queries would yield the wanted results?