apache/pinot

Choose which fields get flattened by complexType

Open

#10.549 geöffnet am 5. Apr. 2023

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (1 zugewiesene Person)Java (1.234 Forks)batch import
featurehelp wanted

Repository-Metriken

Stars
 (4.937 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 6T 7h) (186 gemergte PRs in 30 T)

Beschreibung

Say we have the following event structure:

{
	"...",
	"auditFields": {
		"a": "b",
		"c": "d"
	},
	"results": [
		{
			"name": "result1",
			"value": 33.2
		},
		{
			"name": "result2",
			"value": 45.6
		}
	]
}

We want to create the following columns:

results.name
results.value
auditFields

At the moment I don't think that's possible as auditFields will be flattened into:

audiFields.a
auditFields.c

By this line of code - https://github.com/apache/pinot/blob/master/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/recordtransformer/ComplexTypeTransformer.java#L176

Can we make the columns that get flattened configurable, like the fields to unnest can be configured?

Contributor Guide