Pydruid支持三种方式的聚合类(Aggregation)查询
时间序列查询
TopN查询
GroupBy
这里介绍groupby使用方式:
DRUID_BROKER_URL = 'http://{ip}:{port}'.format(ip=`druid服务ip`, port=`端口号`)
DRUID_DATA_SOURCE = `表名`
QUERY_TIMEOUT = 10 * 1000
DATE_FORMAT = "%Y-%m-%dT%H:%M:%SZ"
def query_druid(self,all_metrics,filter, dimensions,startStamp, endStamp,granularity='all'):
""""""
try:
druid_query = client.PyDruid(DRUID_BROKER_URL, 'druid/v2')
start_time = datetime.datetime.fromtimestamp(startStamp).strftime(DATE_FORMAT)
end_time = datetime.datetime.fromtimestamp(endStamp).strftime(DATE_FORMAT)
aggr = {f: doublesum(f) for f in all_metrics}
group = druid_query.groupby(
datasource=DRUI