InfluxDB 2.x: Error: Unsupported input type for mean aggregate (string to integer): Unterschied zwischen den Versionen
Aus Wiki-WebPerfect
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 14: | Zeile 14: | ||
That's why we have to convert the type of the "_value" fields and rewrite this in a new measurement. <br> | That's why we have to convert the type of the "_value" fields and rewrite this in a new measurement. <br> | ||
*Optionally: '''Create a new bucket''' (I called them "typeconversion") | *Optionally: '''Create a new bucket''' (I called them "typeconversion") | ||
− | *Write a query that '''selects your measurement''', '''convert the values''' to integer and '''rewrite the data''' to your new bucket | + | *Write a query that '''selects your measurement''', '''convert the values''' to integer and '''rewrite the data''' to your new bucket: |
− | + | ||
<pre> | <pre> | ||
+ | datatoconvert = from(bucket: "telegraf") | ||
+ | |> range(start: v.timeRangeStart, stop: v.timeRangeStop) | ||
+ | |> filter(fn: (r) => r._measurement == "asset_vm_cmdb") | ||
+ | |> toInt() | ||
+ | datatoconvert | ||
+ | |> filter(fn: (r) => exists r._value) | ||
+ | |> to(bucket: "typeconversion", org: "Inventx AG") | ||
</pre> | </pre> | ||
*Remove the old measurement | *Remove the old measurement |
Version vom 1. März 2021, 14:52 Uhr
My InfluxDB 2.x downsampling tasks could not run because of following error.
Error
Could not execute task run; Err: unsupported input type for mean aggregate: string: unsupported input type for mean aggregate: string
Unsupported input type for mean aggregate: string
Cause
This error occurs because of type conflicts in the same fields respectively in the value of it.
Solution / Workaround
Unfortunately InfluxDB 2.x has no solution for this (or I don't know about them).
That's why we have to convert the type of the "_value" fields and rewrite this in a new measurement.
- Optionally: Create a new bucket (I called them "typeconversion")
- Write a query that selects your measurement, convert the values to integer and rewrite the data to your new bucket:
datatoconvert = from(bucket: "telegraf") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == "asset_vm_cmdb") |> toInt() datatoconvert |> filter(fn: (r) => exists r._value) |> to(bucket: "typeconversion", org: "Inventx AG")
- Remove the old measurement