[ 
https://issues.apache.org/jira/browse/CALCITE-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16023400#comment-16023400
 ] 

Zain Humayun commented on CALCITE-1787:
---------------------------------------

[~bslim] that seems reasonable. So i've taken the liberty to test two queries, 
which should have the same semantics: 

1) {{select count(distinct "user_unique") from "foodmart" where "store_sales" 
>= 0 and "store_cost" >= 0;}}

and

2) {{select count(distinct "user_unique") from "foodmart";}}

Both produce the same value, 5581. However, for #1 the plan looks something 
like:
{quote}
BindableAggregate(group=\[{}\], EXPR$0=\[COUNT($0)\])
    BindableAggregate(group=\[\{2\}\])
      BindableFilter(condition=\[AND(>=($0, 0), >=($1, 0))\])
        DruidQuery(table=\[\[foodmart, foodmart\]\], intervals=\[...\], 
projects=\[\[$90, $91, $92\]\])
{quote}

I noticed calcite doesn't push the where clause into the Druid query (in the 
"filter" field). Is this a missing feature/rule or am I misunderstanding 
something?

> thetaSketch Support for Druid Adapter
> -------------------------------------
>
>                 Key: CALCITE-1787
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1787
>             Project: Calcite
>          Issue Type: New Feature
>          Components: druid
>    Affects Versions: 1.12.0
>            Reporter: Zain Humayun
>            Assignee: Julian Hyde
>            Priority: Minor
>
> Currently, the Druid adapter does not support the 
> [thetaSketch|http://druid.io/docs/latest/development/extensions-core/datasketches-aggregators.html]
>  aggregate type, which is used to measure the cardinality of a column 
> quickly. Many Druid instances support theta sketches, so I think it would be 
> a nice feature to have.
> I've been looking at the Druid adapter, and propose we add a new DruidType 
> called {{thetaSketch}} and then add logic in the {{getJsonAggregation}} 
> method in class {{DruidQuery}} to generate the {{thetaSketch}} aggregate. 
> This will require accessing information about the columns (what data type 
> they are) so that the thetaSketch aggregate is only produced if the column's 
> type is {{thetaSketch}}. 
> Also, I've noticed that a {{hyperUnique}} DruidType is currently defined, but 
> a {{hyperUnique}} aggregate is never produced. Since both are approximate 
> aggregators, I could also couple in the logic for {{hyperUnique}}.
> I'd love to hear your thoughts on my approach, and any suggestions you have 
> for this feature.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to