You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by dh...@cybervisiontech.com on 2017/03/03 16:34:49 UTC
OpenTSDB plugin development for Drill
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.