web-dev-qa-db-ja.com

タグに基づいてInfluxdbをクエリしますか?

Influxdb v0.13をいじり始めましたが、テストデータベースにダミー値がいくつかあります。ここで、idはタグで、valueはフィールドです。

> SELECT * FROM dummy
name: dummy
--------------
time                    id     value
1468276508161069051     1234    12345
1468276539152853428     613     352
1468276543470535110     613     4899
1468276553853436191     1234    12

このクエリを実行しても結果が返されません。

> SELECT * FROM dummy WHERE id=1234

しかし、代わりにフィールドでクエリを実行すると、次のようになります。

> SELECT * FROM dummy WHERE value=12
name: dummy
--------------
time                    id     value
1468276553853436191     1234    12

私はここで何か間違ったことをしていますか?タグのポイントは(インデックスが付けられており、フィールドはインデックス付けされていないため)クエリされると思いましたが、クエリが壊れているようです。

6
Jtaks

Influxは、挿入するすべてのタグキーと値を文字列として扱うようです。これは、公式ドキュメントに明らかに示されています。

参照: https://docs.influxdata.com/influxdb/v0.13/guides/writing_data/

ポイントを書き込むときは、dbqueryパラメーターで既存のデータベースを指定する必要があります。使用可能なクエリパラメータの完全なリストについては、「構文の書き込み」ページの「HTTP」セクションを参照してください。 POST-これをラインプロトコルと呼びます-には、保存する時系列データが含まれています。これらのデータは、測定値、タグ、フィールド、およびタイムスタンプで構成されます。InfluxDBには測定名。厳密に言えば、タグはオプションですが、ほとんどのシリーズには、データソースを区別し、クエリを簡単かつ効率的にするためのタグが含まれています。タグキーとタグ値はどちらも文字列です。

注:太字のテキスト。

したがって、タグキー値でフィルタリングするには、クエリを引用符で囲む必要があります。

SELECT * FROM dummy WHERE id='1234'

13
Samuel Toh