drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dhavrilov...@cybervisiontech.com
Subject OpenTSDB plugin development for Drill
Date Fri, 03 Mar 2017 16:34:49 GMT
I'm developing a storage plugin for OpenTSDB available here https://github.com/mapr-demos/drill
. 
I have solved many problems of adopting Drill syntax to TSDB syntax. 
And I have only one question: is there any way to overwrite default functionality of aggregation
functions in drill ? 
So there is select avg|sum|min|max value)... such aggregation functions from SQL. Drill has
more than that. So I want make custom 
aggregators and otherride existing. Existing way in not " propersql" style and I want to change
this. 
now I support such queries: 



    * 

SELECT * FROM openTSDB.`warp.speed.test` 
        * Return all elements from `warp.speed.test` table with default aggregator SUM 
    * 

SELECT * FROM openTSDB.`(metric=warp.speed.test)` 
        * Return all elements from `(metric=warp.speed.test)` table as a previous query, but
with alternative FROM syntax 
    * 

SELECT * FROM openTSDB.`(metric=warp.speed.test, aggregator=avg)` 
        * Return all elements from `warp.speed.test` table, but with the custom aggregator

    * 

SELECT `timestamp`, sum(`aggregated value`) FROM openTSDB.`(metric=warp.speed.test, aggregator=avg)`
GROUP BY `timestamp` 
        * Return aggregated and grouped value by standard drill functions from `warp.speed.test`
table, but with the custom aggregator 
    * 

SELECT * FROM openTSDB.`(metric=warp.speed.test, downsample=5m-avg )` 
        * Return data limited by downsample 

You can see more information here https://github.com/mapr-demos/drill-opentsdb/wiki 
As I understand there is no predefined way to do this. I'm not familiar with drill core, so
I'm asking for help. 
Now I am resolving all syntax problems in "from" clause and "where" clause. Because I have
full control of them from inside of plugin. 

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message