Neeraja Sridharan
09/16/2025, 2:18 AMIngestion-time HLL for our real-time Pinot table using HLL-sketch, to improve the performance of DISTINCTCOUNTMV based backend queries on our multi-value column i.e. ids.
Schema config:
{
"name": "hll_unique_ids",
"dataType": "BYTES"
},
{
"name": "ids",
"dataType": "STRING",
"singleValueField": false
}
Transform config:
{
"columnName": "hll_unique_ids",
"transformFunction": "HLL(murmurHash64(ids), 12)"
}
We added murmurHash64 because - the HLL() transform config was failing and wanted to use a function more compatible with the multi-value column.
But whether we use HLL(), or HLL() & murmurHash64() chained functions, we get the below error. We're currently on Pinot 1.0.
error: Invalid TableConfigs: real_time_pinot_table. Invalid transform function 'HLL(murmurHash64(ids), 12)' for column 'hll_unique_ids'
Appreciate any help to understand what might be causing the HLL() transform function to fail.
cc: @Sai Tarun Tadakamalla @ZEBIN KANG @Jessica StewartNeeraja Sridharan
09/16/2025, 2:19 AMMayank
Neeraja Sridharan
09/16/2025, 2:25 AMMayank
Neeraja Sridharan
09/16/2025, 2:32 AMDISTINCTCOUNTMV doesn't seem to be a supported function for Star-Tree index, but probably DISTINCTCOUNTHLLMV is supported? Do you know?
2. We tried query-time HLL function eg. DISTINCTCOUNTHLLMV(ids) but we're still facing server timeout issue
3. Pre-aggregated externally -
a. would you be able to provide any recommended options for real-time data ingestion to Pinot?
cc: @Sai Tarun TadakamallaMayank
Mayank
Neeraja Sridharan
09/16/2025, 2:40 AMids.Mayank
Neeraja Sridharan
09/16/2025, 2:44 AMNeeraja Sridharan
09/16/2025, 2:44 AMNeeraja Sridharan
09/16/2025, 2:46 AMMayank
Mayank
Neeraja Sridharan
09/16/2025, 3:01 AMMayank
Neeraja Sridharan
09/16/2025, 3:19 AM