Guest User

Untitled

a guest
Jun 20th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. dbrp "some_database"."autogen"
  2.  
  3. // Define a batch query that retrieves 1 minute realtime data every 1s
  4. // It's a good practice to use a tag ('sensor_id') in the groupBy statement instead of * (star)
  5. // With the last statement we ensure that we get the last (fresh) entry
  6. var realtime = batch
  7. |query('SELECT speed as realtime_speed FROM "some_database"."autogen"."realtime"')
  8. .period(1m)
  9. .every(1s)
  10. .groupBy('sensor_id')
  11. |last('realtime_speed')
  12. .as('realtime_speed')
  13.  
  14. var predicted = batch
  15. |query('SELECT speed as predicted_speed FROM "measurements"."autogen"."predicted"')
  16. .period(1m)
  17. .every(1s)
  18. .groupBy('sensor_id')
  19. |last('predicted_speed')
  20. .as('predicted_speed')
  21.  
  22. // Now we can join them using the join node.
  23. // The property tolerance property method allows us to join two entries with one minute of difference
  24. var joined_data = realtime
  25. |join(predicted)
  26. .as('realtime', 'predicted')
  27. .fill(0.0)
  28. .tolerance(1m)
  29.  
  30. // The eval chaining method (node) allows us to compute the difference
  31. var performance_error = joined_data
  32. |eval(lambda: "realtime.realtime_speed" - "predicted.predicted_speed")
  33. .as('performance_error')
  34.  
  35. performance_error
  36. |influxDBOut()
  37. .database('some_database')
  38. .measurement('performance_error')
Add Comment
Please, Sign In to add comment