druid-io / pydruid

A Python connector for Druid
Other
506 stars 194 forks source link

SubQueries Support #139

Closed pantlavanya closed 5 years ago

pantlavanya commented 5 years ago

Subquery support on druid. Example:-

group = query.groupby(
    datasource=query.sub_query(datasource='twitterstream',
            granularity='hour',
            intervals='2018-01-01/2018-05-31',
            dimensions=["dim_key", "dim_key2"],
            filter=(Dimension('user_lang') == 'en') & (Dimension('user_name') == 'ram'),
            aggregations={"first_value": doublefirst("stream_value"),"last_value": doublelast("stream_value")},
            post_aggregations={'final_value': (HyperUniqueCardinality('last_value') - HyperUniqueCardinality('first_value'))}
    ),
    granularity='day',
    intervals='2018-01-01/2018-05-31',
    dimensions=["dim_key"],
    aggregations={"outer_final_value": doublesum("final_value")}
)
mistercrunch commented 5 years ago

Can you add a unit test please?

pantlavanya commented 5 years ago

Hi Maxime Beauchemin,

I have added a unit test case. Please let know your inputs.