Hi! What is the partitioning function used in Pino...
# troubleshooting
n
Hi! What is the partitioning function used in Pinot for
murmur
? Upstream Kafka uses
murmur2
. Does Pinot expect
murmur2
or
murmur3
? Appreciate any guidance 🙇‍♀️
m
Murmur in Pinot is murmur2. It also supports murmur3
n
Good to know! Thanks @Mayank! So by default Pinot would match Kafka’s murmur2 partitioning. We’d just have to ensure the partition column/message key and number of partitions matches with upstream. What are the steps in case we want Pinot to use murmur3?
This is for real-time table
m
You can set murmur3 in table config. Also, always check committed segments metadata to ensure it only has 1 partition id
thanks 1
n
@Mayank Does Pinot support multi-column partitioning to align with composite key partitioning in Kafka?
m
For upsert you can have composite key, yes
thanks 1
n
@Mayank Our scenario is a non-upsert real-time Pinot table being configured for partition-based segment pruning. In that case, we can configure only one column - is it?
@Mayank Is the above ^^ correct? 🙇‍♀️
m
Do you mean like a composite key? If so, then yes.
n
I meant to confirm if composite key i.e. partition-based segment pruning using multiple columns is possible in Pinot ONLY for upsert-based real-time tables and not supported otherwise?
m
Note multiple columns is different from composite columns for partitioning. Multiple columns is supported (but I don't think I know anyone who has used it), composite columns are not.
n
Ah got it! I thought partition-based segment pruning in Pinot when configured for multiple columns would function as a combined key, as that's how we'd be able to set it up in upstream Kafka.
Multiple columns is supported (but I don't think I know anyone who has used it)
For non-upsert real time tables would you recommend just a single column partitioning?
m
Yes. One column + time based pruning will already prune out a lot
n
Makes sense thanks