public static class HashCode extends ScalarFunction{
private int factor = 13;
public HashCode(int factor) {
this.factor = factor;
}
//必须为public名字必须叫eval
public int eval(String str){
return str.hashCode()*factor;
}
}
Table sourceTable = tableEnv.fromDataStream(dataStream, "f0 as id, f1 as ts, f2 as temp,pt.proctime");
//在环境中注册UDF
HashCode hashCode = new HashCode(5);
tableEnv.registerFunction("hashCode",hashCode);
//tableAPI
Table resultTable = sourceTable.select("id,ts,hashCode(id)");
tableEnv.toAppendStream(resultTable, Row.class).print();
//SQL
tableEnv.createTemporaryView("sensor",sourceTable);
Table resultSqlTbale = tableEnv.sqlQuery("select id,ts,hashCode(id) from sensor");
tableEnv.toAppendStream(resultSqlTbale,Row.class).print();