blob: 5b0236af0c853ab137dc0040e08d4f1ed22a29fe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
(
#comment
(let mr_source (DataSource 'yt 'plato))
(let x (Read! world mr_source (Key '('table (String 'Input))) '('key 'subkey 'value) '()))
(let world (Left! x))
(let table (Right! x))
(let keySelector (lambda '(x) '((Member x 'value) (Member x 'subkey))))
(let listHandler (lambda '(stream) (FlatMap stream (lambda '(pair) (block '(
(let key (Nth pair '0))
(let list (ForwardList (Nth pair '1)))
(let s (Struct))
(let s (AddMember s 'key (Nth key '0)))
(let s (AddMember s 'subkey (Nth key '1)))
(let s (AddMember s 'value (ToString (Length list))))
(let ret (AsList s))
(return ret)
))))))
(let result (PartitionByKey table keySelector (Void) (Void) listHandler))
(let mr_sink (DataSink 'yt (quote plato)))
(let world (Write! world mr_sink (Key '('table (String 'Output))) result '()))
(let world (Commit! world mr_sink))
(return world)
)
|