In this post we will demonstrate building a Druid application in Python. Code for this example is available on github.
To setup Druid's webstream example, grab the Druid tarball at http://static.druid.io/artifacts/releases/druid-services-0.5.54-bin.tar.gz
tar -zxvf druid-services-*-bin.tar.gz cd druid-services-0.5.54 ./run_example_server.sh Enter webstream
Druid's python library is called pyDruid, and can be installed via:
pip install pydruid
The source to pydruid is available on github: https://github.com/metamx/pydruid
A simple example of querying Druid with pyDruid looks like this:
#!/usr/bin/env python
from pydruid.client import *
# Druid Config
endpoint = 'druid/v2/?pretty'
demo_bard_url = 'http://localhost:8083'
dataSource = 'webstream'
intervals = ["2013-01-01/p1y"]
query = pyDruid(demo_bard_url, endpoint)
counts = query.timeseries(dataSource = dataSource,
granularity = "minute",
intervals = intervals,
aggregations = {"count" : doubleSum("rows")}
)
print counts
Which results in this:
[{'timestamp': '2013-09-30T23:31:00.000Z', 'result': {'count': 0.0}}, {'timestamp': '2013-09-30T23:32:00.000Z', 'result': {'count': 0.0}}, {'timestamp': '2013-09-30T23:33:00.000Z', 'result': {'count': 0.0}}, {'timestamp': '2013-09-30T23:34:00.000Z', 'result': {'count': 0.0}}]
In our next post, we'll build a full-blown Druid Python web application!