AggregateSameDistinct.yql 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. (
  2. (let $1 world)
  3. (let $2 (DataSource '"yt" '"plato"))
  4. (let $3 (String '"Input"))
  5. (let $4 '('table $3))
  6. (let $5 (Key $4))
  7. (let $6 '('"key"))
  8. (let $7 '())
  9. (let $8 (Read! $1 $2 $5 $6 $7))
  10. (let $9 (Left! $8))
  11. (let $10 (DataSink 'result))
  12. (let $11 (Key))
  13. (let $12 (Right! $8))
  14. (let $13 '())
  15. (let $14 (TypeOf $12))
  16. (let $15 (ListItemType $14))
  17. (let $16 (StructMemberType $15 '"key"))
  18. (let $17 (lambda '($49) (block '(
  19. (let $51 (Exists $49))
  20. (let $52 (Convert $51 'Uint64))
  21. (return $52)
  22. ))))
  23. (let $18 (lambda '($53 $54) (block '(
  24. (let $56 (Exists $53))
  25. (let $57 (Convert $56 'Uint64))
  26. (let $58 (lambda '($60 $61) (block '(
  27. (let $63 (+ $60 $61))
  28. (return $63)
  29. ))))
  30. (let $59 (OptionalReduce $54 $57 $58))
  31. (return $59)
  32. ))))
  33. (let $19 (lambda '($64) (block '(
  34. (return $64)
  35. ))))
  36. (let $20 (lambda '($66) (block '(
  37. (return $66)
  38. ))))
  39. (let $21 (lambda '($68 $69) (block '(
  40. (let $71 (lambda '($73 $74) (block '(
  41. (let $76 (+ $73 $74))
  42. (return $76)
  43. ))))
  44. (let $72 (OptionalReduce $68 $69 $71))
  45. (return $72)
  46. ))))
  47. (let $22 (lambda '($77) (block '(
  48. (return $77)
  49. ))))
  50. (let $23 (AggregationTraits $16 $17 $18 $19 $20 $21 $22 (Null)))
  51. (let $24 '('Count0 $23 '"key"))
  52. (let $25 (TypeOf $12))
  53. (let $26 (ListItemType $25))
  54. (let $27 (StructMemberType $26 '"key"))
  55. (let $28 (lambda '($79) (block '(
  56. (return $79)
  57. ))))
  58. (let $29 (lambda '($81 $82) (block '(
  59. (let $84 (lambda '($86 $87) (block '(
  60. (let $89 (Min $86 $87))
  61. (return $89)
  62. ))))
  63. (let $85 (OptionalReduce $82 $81 $84))
  64. (return $85)
  65. ))))
  66. (let $30 (lambda '($90) (block '(
  67. (return $90)
  68. ))))
  69. (let $31 (lambda '($92) (block '(
  70. (return $92)
  71. ))))
  72. (let $32 (lambda '($94 $95) (block '(
  73. (let $97 (lambda '($99 $100) (block '(
  74. (let $102 (Min $99 $100))
  75. (return $102)
  76. ))))
  77. (let $98 (OptionalReduce $94 $95 $97))
  78. (return $98)
  79. ))))
  80. (let $33 (lambda '($103) (block '(
  81. (return $103)
  82. ))))
  83. (let $34 (AggregationTraits $27 $28 $29 $30 $31 $32 $33 (Null)))
  84. (let $35 '('Min1 $34 '"key"))
  85. (let $36 '($24 $35))
  86. (let $37 (Aggregate $12 $13 $36))
  87. (let $38 (lambda '($105) (block '(
  88. (let $107 (Struct))
  89. (let $108 (Member $105 'Count0))
  90. (let $109 (AddMember $107 '"column0" $108))
  91. (let $110 (Member $105 'Min1))
  92. (let $111 (AddMember $109 '"column1" $110))
  93. (let $112 (AsList $111))
  94. (return $112)
  95. ))))
  96. (let $39 (FlatMap $37 $38))
  97. (let $40 '('type))
  98. (let $41 '('autoref))
  99. (let $42 '('"column0" '"column1"))
  100. (let $43 '('columns $42))
  101. (let $44 '($40 $41 $43))
  102. (let $45 (Write! $9 $10 $11 $39 $44))
  103. (let $46 (Commit! $45 $10))
  104. (let $47 (DataSink '"yt" '"plato"))
  105. (let $48 (Commit! $46 $47))
  106. (return $48)
  107. )