blob: 59f97eb433708a80b595fa8a23813a4d5c26acc4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# program
(
(let config (DataSource 'config))
(let world (Configure! world config 'PureDataSource 'yt))
(import agg_module '"/lib/yql/aggregate.yqls")
(let list (AsList
(AsStruct '('key (Uint32 '1)) '('value (Nothing (OptionalType (DataType 'Uint32)))))
(AsStruct '('key (Uint32 '2)) '('value (Nothing (OptionalType (DataType 'Uint32)))))
(AsStruct '('key (Uint32 '1)) '('value (Just (Uint32 '4))))
(AsStruct '('key (Uint32 '3)) '('value (Nothing (OptionalType (DataType 'Uint32)))))
(AsStruct '('key (Uint32 '2)) '('value (Just (Uint32 '5))))
(AsStruct '('key (Uint32 '2)) '('value (Just (Uint32 '1))))
))
(let some_traits (Apply (bind agg_module 'some_traits_factory) (ListType (StructMemberType (ListItemType (TypeOf list)) 'value)) (lambda '(v) v)))
(let res_sink (DataSink 'result))
(let resKey (Aggregate list '('key) '('('some_value some_traits 'value))))
(let world (Write! world res_sink (Key) resKey '('('type))))
(let world (Commit! world res_sink))
(return world)
)
|