12345678910111213141516171819202122232425 |
- (
- (let config (DataSource 'config))
- # prepare python udf
- (let i64 (DataType 'Int64))
- (let udfType (CallableType '() '((ListType i64)) '((ListType i64))))
- (let udfScript (String '@@
- def h(input):
- def gen():
- for x in input:
- yield int(x + 42)
- return gen
- @@))
- (let udf (ScriptUdf 'Python3 'h udfType udfScript))
- # call udf
- (let result (Apply udf (AsList (Int64 '1) (Int64 '2) (Int64 '3))))
- # output result with type
- (let sink (DataSink 'result))
- (let world (Write! world sink (Key) result '( '('type) )))
- # finish
- (return (Commit! world sink))
- )
|