Hi,
too many arguments for calling a UDF could currently lead to "grows
beyond 64 KB" and maybe also causes the GC exception. This is a known
issue covered in https://issues.apache.org/jira/browse/FLINK-8921.
Could you also add the tags to the function itself? Maybe as a static
map for constant time access outside of the eval method?
Regards,
Timo
Am 15.05.19 um 17:10 schrieb Andrey Zagrebin:
Hi, I am looping in Timo and Dawid to look at the problem.
On Tue, May 14, 2019 at 9:12 PM shkob1 <shahar.kobrin...@gmail.com
<mailto:shahar.kobrin...@gmail.com>> wrote:
BTW looking at past posts on this issue[1] it should have been
fixed? i'm
using version 1.7.2
Also the recommendation was to use a custom function, though
that's exactly
what im doing with the conditionalArray function[2]
Thanks!
[1]
http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/DataStreamCalcRule-1802-quot-grows-beyond-64-KB-when-execute-long-sql-td20832.html#a20841
[2]
public class ConditionalArrayFunction extends ScalarFunction {
public static final String NAME = "conditionalArray";
public String[] eval(Object... keyValues) {
if (keyValues.length == 0) {
return new String[]{};
}
final List keyValuesList = Arrays.asList(keyValues);
List<String> trueItems = Lists.newArrayList();
for (int i = 0; i < keyValuesList.size(); i = i + 2){
final String key = (String)keyValuesList.get(i);
final Object value = keyValuesList.get(i + 1);
if (value != null && (boolean)value)
trueItems.add(key);
}
return trueItems.toArray(new String[0]);
}
}
--
Sent from:
http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/