我试图在Beam管道中向SqlTransform添加一个用户定义函数(UDF),而SQL解析器似乎不理解该函数的类型。我得到的错误是:
No match found for function signature IF(<BOOLEAN>, <NUMERIC>, <NUMERIC>)
我尝试过为一组不同的类型(Double
、Float
、Long
、Integer
)定义这种类型,但是我不知道如何以一种能让Beam理解的方式泛化它。
有没有办法给UDF提供类型提示,编写处理任意数字类型的提示?
发布于 2020-11-17 12:01:09
看来,你应该使用BigDecimal
。
下面是一个类似的问题:What is the equivalent Data type for Numeric in apache.beam.sdk.schemas.Schema.FieldType
发布于 2020-11-18 21:59:08
最后,我发现问题在于我的代码注册了UDF。由于未注册UDF而获得的错误消息似乎与编写不兼容类型的错误消息相同。只使用“双”似乎没什么问题。
https://stackoverflow.com/questions/64866854
复制相似问题