我正在检查是否可以将kairosdb用于我的项目。我正在检查REST api,我有一个用例,我需要保存我的设备状态和状态(状态告诉设备是打开还是关闭,状态告诉我的设备是否被占用或空)
kairosdb version: 1.1.1
I came across this link https://kairosdb.github.io/docs/build/html/restapi/AddDataPoints.html
but when I try to post data from REST client I am getting the error 400 BAD Request error. The error is
{"errors":["Unregistered data point type 'complex-number'"]}
My request I am posting is ,
{
"name": "device_data",
"type": "complex-number",
"datapoints": [
[
1470897496,
{
"state": 0,
"status": "empty"
}
]
],
"tags": {
"device_id": "abc123"
}
}
In tried doing the same in Java as specified in https://kairosdb.github.io/docs/build/html/kairosdevelopment/CustomData.html
我得到了同样的错误 请告诉我如何使用REST中的复数或自定义数据类型
答案 0 :(得分:3)
最近,我想出了如何使用它。
使用KairosDB官方文档中的示例。
ComplexDataPoint.java
和ComplexDataPointFactory.java
的2个文件,然后将教程提供的代码粘贴到文档:https://kairosdb.github.io/docs/build/html/kairosdevelopment/CustomData.html#example-for-creating-custom-types .zip
文件。/KAIROSDB_DOWNLOADED_SOURCE/src/main/java/org/kairosdb/core/datapoints/
在CoreModule.java
配置/KAIROSDB_DOWNLOADED_SOURCE/src/main/java/org/kairosdb/core/
,在函数protected void configure()
中添加以下行:
bind(ComplexDataPointFactory.class).in(Singleton.class);
打开终端,cd到KAIROSDB_DOWNLOADED_SOURCE/
,然后按照 how_to_build.txt
完成后,它将创建一个名为 build 的文件夹,已编译的kairosdb jar文件位于KAIROSDB_DOWNLOADED_SOURCE/build/jar
,备份 YOUR_KAIROSDB_INSTALLATION / lib
中的kairosdb-X.X.X.jar
文件
mv kairosdb-X.X.X.jar kairosdb-X.X.X.jar.backup
mv
新编译的jar文件到 YOUR_KAIROSDB_INSTALLATION / lib
通过添加以下行来修改配置文件:
kairosdb.datapoints.factory.complex=org.kairosdb.core.datapoints.ComplexDataPointFactory
重启你的kairosdb
对于您的查询,由于注册的名称为kairosdb.datapoints.factory.complex
,请在查询字符串中将complex-number
替换为complex
。
希望这会对你有所帮助!我现在遇到绘制复杂数据的问题。我还在搞清楚......