1

私たちは InfluxDb を組織に導入しており、2 つの時系列を 1 つに結合するという最初のハードルを満たしています。

24 時間ごとに、多数のデバイスからファームウェア データを収集します。それらは多かれ少なかれ次のような測定になります。

time                 deviceId                               value
----                 -------                               -----
1506808800000000000  ad0277c6-3513-4769-80f2-819516856e18  2017.10.1
1506808800000000000  db7c5414-ae9e-4303-bafe-b0d70a46d01b  2017.10.1
1506895200000000000  ad0277c6-3513-4769-80f2-819516856e18  2017.10.2
1506895200000000000  db7c5414-ae9e-4303-bafe-b0d70a46d01b  2017.10.2
1506981600000000000  ad0277c6-3513-4769-80f2-819516856e18  2017.10.3
1507327200000000000  ad0277c6-3513-4769-80f2-819516856e18  2017.10.7
1507586400000000000  ad0277c6-3513-4769-80f2-819516856e18  2017.10.10
1507704360000000000  db7c5414-ae9e-4303-bafe-b0d70a46d01b  2017.10.10
1507704360000000000  ad0277c6-3513-4769-80f2-819516856e18  2017.10.11
1507704360000000000  ad0277c6-3513-4769-80f2-819516856e18  2017.10.10

問題のデバイスも特定の値を生成し、「missingValues」時系列でこれらの品質を追跡します (ここで、value は欠損値の数で、batchSize は期待される値の数です。値 24 は 100 を示します)。 % 損失、0 は損失なし):

----                ---------   -------                              -----
time                batchSize   deviceId                             value
1507413600000000000 24          ad0277c6-3513-4769-80f2-819516856e18 0
1507413600000000000 24          ad0277c6-3513-4769-80f2-819516856e18 3
1507413600000000000 24          ad0277c6-3513-4769-80f2-819516856e18 7
1507413600000000000 24          db7c5414-ae9e-4303-bafe-b0d70a46d01b 2

前述のように、ファームウェアの時系列は 24 時間ごとに更新されますが、missingValues の時系列は断続的に更新されます。missingValues 値が入力されたら、その特定のデバイス ID の最新のファームウェア バージョンを取得し、それを残りの欠損値タグおよびフィールドと組み合わせて「missing_values_with_firmware」を形成する必要があります。目標は、(疑似コード) "select deviceId, avg(value/batchSize) from missing_values_with_firmware" を実行して、データ品質に対するファームウェアの影響を分析できるようにすることです。

これを行うための最良のアプローチは何ですか?連続クエリを作成しようとしましたが、select time、value、batchsize、deviceId、(deviceId = m.deviceId のファームウェアから last(value) を選択し、 time <= m.time)

コンデンサーはより良い代替手段でしょうか?

4

0 に答える 0