blob: affd7f4d555ff02ac6ea2e034365265bc2d5efc6 (
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
(
#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 table1 (Right! x))
(let udfTDigest_Create (Udf 'Stat.TDigest_Create))
(let udfTDigest_AddValue (Udf 'Stat.TDigest_AddValue))
(let udfTDigest_GetPercentile (Udf 'Stat.TDigest_GetPercentile))
(let udfTDigest_Serialize (Udf 'Stat.TDigest_Serialize))
(let udfTDigest_Deserialize (Udf 'Stat.TDigest_Deserialize))
(let udfTDigest_Merge (Udf 'Stat.TDigest_Merge))
(let table1map (Map table1 (lambda '(item) (block '(
(let value (Member item 'value))
(let x (Apply udfTDigest_Create (Double '1.0)))
(let y (Apply udfTDigest_Create (Double '2.0)))
(let jx (Just x))
(let jy (Just y))
(let n (Nothing (OptionalType (TypeOf x))))
(let handler (lambda '(x y) (Apply udfTDigest_Merge x y)))
(let newValue value)
(let newValue (Concat newValue (String '" => ")))
(let newValue (Concat newValue (Concat (String '" ") (Coalesce (Map
(OptionalReduce jx jy handler) (lambda '(r)
(ToString (Apply udfTDigest_GetPercentile r (Double '0.75))
))) (String '?)))))
(let newValue (Concat newValue (Concat (String '" ") (Coalesce (Map
(OptionalReduce jx n handler) (lambda '(r)
(ToString (Apply udfTDigest_GetPercentile r (Double '0.75))
))) (String '?)))))
(let newValue (Concat newValue (Concat (String '" ") (Coalesce (Map
(OptionalReduce n n handler) (lambda '(r)
(ToString (Apply udfTDigest_GetPercentile r (Double '0.75))
))) (String '?)))))
(let s (Struct))
(let s (AddMember s 'key (Member item 'key)))
(let s (AddMember s 'subkey (Member item 'subkey)))
(let s (AddMember s 'value newValue))
(return s)
)))))
(let mr_sink (DataSink 'yt (quote plato)))
(let world (Write! world mr_sink (Key '('table (String 'Output))) table1map '('('mode 'append))))
(let world (Commit! world mr_sink))
(return world)
)
|