kaivalya apte
02/18/2022, 10:25 AMTYPE field for an event. I have followed the steps here https://docs.pinot.apache.org/basics/data-import/upsert.
• set the primary key on the schema (unnested column from incoming json field)
• have the upsertConfig set to
"upsertConfig": {
"mode": "PARTIAL",
"partialUpsertStrategies": {
"type": "OVERWRITE"
},
"defaultPartialUpsertStrategy": "OVERWRITE"
}
• I also have the instanceSelectorType set
"routing": {
"segmentPrunerTypes": [
"partition"
],
"instanceSelectorType": "strictReplicaGroup"
}
• To test this, I produced an event with status1 with the same primary key and republished the event with same id with status2. I expected to see only one record for this event with an updated (OVERWRITE) status2 , but I see two events one with status1 and other with status2.
• What am I missing?kaivalya apte
02/18/2022, 12:46 PMcomparisonColumnkaivalya apte
02/18/2022, 1:13 PMMark Needham
kaivalya apte
02/18/2022, 2:30 PMkaivalya apte
02/18/2022, 2:30 PMMark Needham
An important requirement for the Pinot upsert table is to partition the input stream by the primary key. For Kafka messages, this means the producer shall set the key in the send API. If the original stream is not partitioned, then a streaming processing job (e.g. Flink) is needed to shuffle and repartition the input stream into a partitioned one for Pinot's ingestion.kaivalya apte
02/18/2022, 2:33 PM