HJK181 edited a comment on issue #7262:
URL: https://github.com/apache/pinot/issues/7262#issuecomment-895190726


   Nailed it down to the transformer configuration
   ```
   "transformConfigs": [
     {
       "columnName": "timestamp",
       "transformFunction": "Groovy({query.mappingTime == -1 ? 31536000: 
query.mappingTime}, query.mappingTime)"
     }
   ]
   ```
   Where I want to transform the mappingTime to a valid timestamp in case its 
value is -1.
   
   However, I'm not able to provide a valid transformer configuration. Getting
   `Created dictionary for LONG column: timestamp with cardinality: 1, range: 
-9223372036854775808 to -9223372036854775808` all the time.
   
   I've tried different configurations
   ```
   "transformFunction": "Groovy({query.mappingTime == -1 ? 31536000: 
query.mappingTime}, query.mappingTime)"
   ...
   "transformFunction": "Groovy({query.mappingTime == -1 ? 31536000: 
query.mappingTime}, query)"
   ...
   "transformFunction": "Groovy({mappingTime == -1 ? 31536000: mappingTime}, 
query)"
   ```
   None of them do work. I also tried to add `query.mappingTime` to my schema 
definition lik so:
   ```
   {
     "schemaName": "kpis",
     "dimensionFieldSpecs": [
       {
         "name": "query.userQuery",
         "dataType": "STRING"
       },
       {
         "name": "query.masterQuery",
         "dataType": "STRING"
       }
     ],
     "metricFieldSpecs": [
       {
         "name": "kpis.clicks",
         "dataType": "INT"
       },
       {
         "name": "kpis.checkout",
         "dataType": "INT"
       },
       {
         "name": "kpis.cart",
         "dataType": "INT"
       }
     ],
     "dateTimeFieldSpecs": [
       {
         "name": "timestamp",
         "dataType": "LONG",
         "format": "1:SECONDS:EPOCH",
         "granularity": "15:MINUTES"
       },
       {
         "name": "query.mappingTime",
         "dataType": "LONG",
         "format": "1:SECONDS:EPOCH",
         "granularity": "15:MINUTES"
       }
     ]
   }
   ```
   When I adjust my transformer configuration to just return the timestamp 
without any condition, the data gets ingested fine.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to