Advertisement
Guest User

Untitled

a guest
Sep 21st, 2020 (edited)
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. CREATE TABLE entity_events
  2. (
  3. `datetime` DateTime,
  4. `event` UInt8,
  5. `entity1` String,
  6. `entity2` String,
  7. `entity3` String
  8. )
  9. ENGINE = MergeTree()
  10. ORDER BY datetime;
  11.  
  12. CREATE MATERIALIZED VIEW user_trace_pool
  13. ENGINE = AggregatingMergeTree
  14. PARTITION BY tuple()
  15. ORDER BY id POPULATE AS
  16. SELECT
  17. cityHash64(entity1, entity2, entity3) AS id,
  18. groupArrayState((event, datetime)) AS events
  19. FROM
  20. (
  21. SELECT
  22. any(datetime) AS datetime,
  23. event,
  24. entity1,
  25. entity2,
  26. entity3
  27. FROM entity_events
  28. GROUP BY (event, entity1, entity2, entity3)
  29. )
  30. GROUP BY id;
  31.  
  32.  
  33. insert into entity_events values ('2020-09-20 00:00:00', 1, 'a', 'a', 'a');
  34. insert into entity_events values ('2020-09-20 00:00:01', 1, 'a', 'a', 'a');
  35.  
  36. SELECT
  37. id,
  38. groupArrayMerge(events) AS e
  39. FROM user_trace_pool
  40. GROUP BY id;
  41.  
  42. ┌───────────────────id─┬─e─────────────────────────────────────────────────────┐
  43. │ 11022927171530759889 │ [(1,'2020-09-20 00:00:01'),(1,'2020-09-20 00:00:00')] │
  44. └──────────────────────┴───────────────────────────────────────────────────────┘
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement