Advertisement
Guest User

flux query

a guest
Dec 28th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.26 KB | None | 0 0
  1. ``` Flux
  2. // Базовая выборка
  3. base = from(bucket: "offer_request") |> range(start: - 30d)
  4.  
  5. // Выборка из таблицы исходящих платёжных методов
  6. pm_from = base |> filter(fn: (r) => r._measurement == "pm_from")
  7.  
  8. // Выборка из таблицы входящих платёжных платёжных методов
  9. pm_to = base |> filter(fn: (r) => r._measurement == "pm_to")
  10.  
  11. // Выборка из таблицы типов источников
  12. source_types = base |> filter(fn: (r) => r._measurement == "source_type")
  13.  
  14. // Выборка из таблицы режимов запроса
  15. mode = base |> filter(fn: (r) => r._measurement == "mode")
  16.  
  17. // Объединение таблицы платёжных методов
  18. pm_join_result = join(
  19.         tables: { pm_from: pm_from,
  20.         pm_to: pm_to },
  21.         on: ["_start", "_stop", "_time", "guest_session_id", "user_id", "username"]
  22.     )
  23.    
  24. // Объединение с таблицей типов иточников
  25. source_types_join_result = join(
  26.         tables: { pm_join_result: pm_join_result,
  27.         source_types: source_types },
  28.         on: ["_start", "_stop", "_time", "guest_session_id", "user_id", "username"]
  29.     )
  30.    
  31. // Объединение с таблицей режимов запроса
  32. join_result = join(
  33.         tables: { source_type: source_types_join_result,
  34.         mode: mode },
  35.         on: ["_start", "_stop", "_time", "guest_session_id", "user_id", "username"]
  36.     )
  37.  
  38. // Объединение удаление лишних колонок и группировка запросов
  39. |> keep(columns: ["_time", "guest_session_id", "user_id", "username"])    
  40. |> group(columns: ["_time", "guest_session_id", "user_id", "username"])
  41.  
  42.  
  43. // Базовая выборка из таблицы исходящих платёжных методов
  44. entity_base = base |> filter(fn: (r) => r._measurement == "pm_from")
  45.  
  46. // Фильтрация исходящих платёжных методов по подходящим запросам
  47. join(
  48.         tables: { join_result: join_result,
  49.         entity_base: entity_base },
  50.         on: ["_time", "guest_session_id", "user_id", "username"]
  51.     )
  52. |> distinct()
  53. |> yield()
  54. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement