kishoreg commented on a change in pull request #3728: Support for specifying
Object Type in Schema
URL: https://github.com/apache/incubator-pinot/pull/3728#discussion_r249581487
##########
File path:
pinot-common/src/main/java/org/apache/pinot/common/data/FieldSpec.java
##########
@@ -86,6 +86,10 @@
@ConfigKey("virtualColumnProvider")
protected String _virtualColumnProvider;
+
+ //Complex type that can be constructed from raw bytes stored e.g. map, json,
text
+ @ConfigKey("objectType")
+ protected String _objectType;
Review comment:
I didn't get your question, the data coming into Pinot will always be
byte[]. Looking at the fieldspec.objectType in schema , Pinot can construct the
PinotObject. Now, this can be used in multiple places.
- Index Creation - we can now index nested fields within this complex
object. thats why I added getProperties() and getPropertyValue().
- querying - we can now support various operations on these objects. For
e.g. select extract(user, 'user.firstName') can extract a property from a
PinotObject. Another example would be to aggregate objects.
Hope that makes sense.
It might help if we try to see that we already support HyperLogLog, QDigest
& TDigest but without having a concept of PinotObject. This PR is trying to
standardize on how we create a custom object from a byte[]. Having an interface
and enforcing certain methods make extending the functionality easily.
I will make it enum.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]