0

プロジェクトで 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 から複素数またはカスタム データ型を使用する方法を教えてください。

4

1 に答える 1

3

最近、これの使い方がわかりました。

KairosDB の公式ドキュメントの例を使用します。

  1. という 2 つのファイルを作成ComplexDataPoint.javaComplexDataPointFactory.java、チュートリアルで提供されているコードをドキュメントに貼り付けます: https://kairosdb.github.io/docs/build/html/kairosdevelopment/CustomData.html#example-for-creating-custom-types
  2. KairosDB ソースをダウンロードし、.zipファイルを抽出します。
  3. 2つのファイルを貼り付けます/KAIROSDB_DOWNLOADED_SOURCE/src/main/java/org/kairosdb/core/datapoints/
  4. CoreModule.javaat を構成/KAIROSDB_DOWNLOADED_SOURCE/src/main/java/org/kairosdb/core/し、関数に次の行を追加しますprotected void configure()

    bind(ComplexDataPointFactory.class).in(Singleton.class);
    
  5. ターミナルを開いて cd toKAIROSDB_DOWNLOADED_SOURCE/に移動し、ファイルhow_to_build.txtの指示に従います

  6. 完了すると、 buildというフォルダーが作成されます。コンパイルされた kairosdb jar ファイルは次の場所にあります。KAIROSDB_DOWNLOADED_SOURCE/build/jar

  7. kairosdb インストール フォルダーで、YOUR_KAIROSDB_INSTALLATION/libkairosdb-X.X.X.jarのファイルをバックアップします。

    mv kairosdb-X.X.X.jar kairosdb-X.X.X.jar.backup
    
  8. mv新しくコンパイルされた jar ファイルをYOUR_KAIROSDB_INSTALLATION/libに

  9. 次の行を追加して、構成ファイルを変更します。

    kairosdb.datapoints.factory.complex=org.kairosdb.core.datapoints.ComplexDataPointFactory
    
  10. kairosdb を再起動します

クエリの場合、登録名はであるため、クエリ文字列でkairosdb.datapoints.factory.complexに置き換えます。complex-numbercomplex

これがあなたを助けることを願っています! 複雑なデータをプロットするのに問題があります。私はまだ把握しています...

于 2016-10-26T03:22:07.117 に答える