aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/s-expressions/suites/SingleYamrOperation/LengthOfTempTableInsideMap.yql
blob: d2e6fd6aec21a85db285d35c5592001a49f98f3e (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
(
#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 tresh (Int32 'x"64000000"))
(let table1low (FlatMap table1 (lambda '(item) (block '(
   (let intValueOpt (FromString (Member item 'key) 'Int32))
   (let ret (FlatMap intValueOpt (lambda '(item2) (block '(
      (return (ListIf (< item2 tresh) item))
   )))))
   (return ret)
)))))

(let table2 (Map table1 (lambda '(item) (block '(
    (let s (AsStruct 
       '('key (Member item 'key))
       '('subkey (ToString (Length table1low)))
       '('value (Member item 'value))
    ))
    
    (return s)
)))))

(let mr_sink (DataSink 'yt (quote plato)))
(let world (Write! world mr_sink (Key '('table (String 'Output))) table2 '('('mode 'append))))
(let world (Commit! world mr_sink))
(return world)
)