notebooks/Usage.ipynb
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# InfluxAlchemy"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import influxdb\n",
"import influxalchemy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Define InfluxAlchemy Measurements"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"class Widgets(influxalchemy.Measurement):\n",
" __measurement__ = 'widgets'\n",
"\n",
"\n",
"class Wombats(influxalchemy.Measurement):\n",
" __measurement__ = 'wombats'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Open InfluxAlchemy Connection"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"db = influxdb.DataFrameClient(database=\"example\")\n",
"flux = influxalchemy.InfluxAlchemy(db)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Query InfluxDB"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Query Single Measurement"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets;"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Query Ad Hoc Measurement"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM /.*/;"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(influxalchemy.Measurement.new(\"/.*/\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Select Fields of Measurement"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT tag1, field2 FROM widgets;"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets.tag1, Widgets.field2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Query Across Measurements"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM /widgets|wombats/;"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets | Wombats)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Filter Tags"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets WHERE (tag1 = 'fizz');"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets).filter(Widgets.tag1 == \"fizz\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Filter Tags with 'like'"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets WHERE (tag1 =~ /z$/);"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets).filter(Widgets.tag1.like(\"/z$/\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Chain Filters"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets WHERE (tag1 = 'fizz' AND tag2 = 'buzz');"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clause1 = Widgets.tag1 == \"fizz\"\n",
"clause2 = Widgets.tag2 == \"buzz\"\n",
"flux.query(Widgets).filter(clause1 & clause2)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets WHERE (tag1 = 'fizz' OR tag2 = 'buzz');"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets).filter(clause1 | clause2)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"### Group Bys"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets GROUP BY time(1d);"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets).group_by(\"time(1d)\")"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets GROUP BY tag1;"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets).group_by(Widgets.tag1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Time"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets WHERE (time > now() - 7d);"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets).filter(Widgets.time > \"now() - 7d\")"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"SELECT * FROM widgets WHERE (time >= '2016-01-01' AND time <= now() - 7d);"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux.query(Widgets).filter(Widgets.time.between(\"'2016-01-01'\", \"now() - 7d\"))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 0
}