如何实现ApacheBeamUDF for calcite sql?

jdg4fx2g  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(266)

我试图在apachebeam管道中实现一个简单的bitwiseand,作为sql的udf。下面是简单的代码片段

  1. public static class BitwiseAnd implements BeamSqlUdf {
  2. public static Integer eval(Integer input, Integer bit){
  3. return input & bit;
  4. }
  5. }

但是,我得到以下错误:

  1. No match found for function signature BitwiseAnd(<NUMERIC>, <NUMERIC>)

我也试过 Long 在方法签名中,得到以下错误
未找到适用于实际参数“java.lang.integer,long”的构造函数/方法;候选对象是:“public static java.lang.long sqltest$bitwiseand.eval(java.lang.long,java.lang.long)”
任何帮助都将不胜感激。

4urapxun

4urapxun1#

您在其中使用此自定义项的上下文似乎希望签名

  1. public static Integer eval(Integer input, Long bit) { ... }

您也可以在自定义项之前将一个边转换为与另一个边的类型相匹配。

相关问题