druid-io / pydruid

A Python connector for Druid
Other
509 stars 200 forks source link

name 'Dimension' is not defined #91

Closed samratisking closed 7 years ago

samratisking commented 7 years ago

Hi,

I am trying pydruid for the first time on python 2.7, with wikipedia data source. However I am getting the following error when trying to execute the following query in python.

`top_langs = query.topn( datasource = "wikipedia", granularity = "all", intervals = "2013-06-01T00:00/2020-01-01T00", dimension = "channel", filter = Dimension("namespace") == "article", aggregations = {"edit_count": longsum("count")}, metric = "edit_count", threshold = 4 )

print top_langs # Do this if you want to see the raw JSON`

`NameError Traceback (most recent call last)

in () 4 intervals = "2013-06-01T00:00/2020-01-01T00", 5 dimension = "channel", ----> 6 filter = Dimension("namespace") == "article", 7 aggregations = {"edit_count": longsum("count")}, 8 metric = "edit_count", NameError: name 'Dimension' is not defined`
fufjvnvnf commented 7 years ago

How did you import pyrduid?

amoussoubaruch commented 7 years ago

hi @samratisking

Have you solve this problem??

Thanks

samratisking commented 7 years ago

Yes, I was able to resolve the issue. Python script:

`from pydruid import from pydruid.client import from pylab import plt from pydruid.query import QueryBuilder from pydruid.utils.postaggregator import from pydruid.utils.aggregators import from pydruid.utils.filters import *

from pydruid.client import * from pylab import plt query = PyDruid("http://implyxxxxxxxxxxx:8082", 'druid/v2') ts = query.timeseries( datasource='wikiticker', granularity='hour', intervals='2016-06-27/p1d', aggregations={'deleted': doublesum('deleted'), 'count': doublesum('count'), 'added': doublesum('added')}, post_aggregations={'add_del_ratio': (Field('added') / Field('deleted'))}, filter=Dimension('channel') == '#en.wikipedia' )

df=ts.export_pandas() print(df) `

DzakirinMD commented 4 years ago

So basically add the code below will solve the issue. but why ?

from pydruid import * from pydruid.client import * from pylab import plt from pydruid.query import QueryBuilder from pydruid.utils.postaggregator import * from pydruid.utils.aggregators import * from pydruid.utils.filters import *

jaimee07 commented 2 years ago

I was able to fix the issue by adding the imports too. Thanks.