[ https://issues.apache.org/jira/browse/FLINK-27238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
hehuiyuan updated FLINK-27238: ------------------------------ Description: !image-2022-04-14-10-27-50-340.png|width=381,height=260! If argTypes[0] is Array<Double> ,it will throw exception. {code:java} Caused by: org.apache.flink.table.functions.hive.FlinkHiveUDFException: Flink doesn't support primitive array for Hive functions yet. at org.apache.flink.table.functions.hive.util.HiveFunctionUtil.isSingleBoxedArray(HiveFunctionUtil.java:34) {code} I think we should determine whether the argTypes is Array , replace primitive Array type.` If argsType is Array , inputs should be converted to an object[]. If argsType is not Array, we can keep origin code logic. HiveFunctionUtil.isSingleBoxedArray(argTypes); throws exception when argTypes is Array and the element type is BOOLEAN | TINYINT | SMALLINT | INTEGER | BIGINT | FLOAT | DOUBLE. Correct me if I am wrong, thanks was: !image-2022-04-14-10-27-50-340.png|width=381,height=260! If argTypes[0] is Array<Double> ,it will throw exception. I think we should determine whether the argTypes is Array , replace primitive Array type.` If argsType is Array , inputs should be converted to an object[]. If argsType is not Array, we can keep origin code logic. HiveFunctionUtil.isSingleBoxedArray(argTypes); throws exception when argTypes is Array and the element type is BOOLEAN | TINYINT | SMALLINT | INTEGER | BIGINT | FLOAT | DOUBLE. Correct me if I am wrong, thanks > The HiveGenericUDTF and HiveScalarFunction should support primitive array,for > example Array<Double> Array<String> ... > --------------------------------------------------------------------------------------------------------------------- > > Key: FLINK-27238 > URL: https://issues.apache.org/jira/browse/FLINK-27238 > Project: Flink > Issue Type: Bug > Reporter: hehuiyuan > Priority: Minor > Attachments: image-2022-04-14-10-27-50-340.png > > > !image-2022-04-14-10-27-50-340.png|width=381,height=260! > > If argTypes[0] is Array<Double> ,it will throw exception. > > {code:java} > Caused by: org.apache.flink.table.functions.hive.FlinkHiveUDFException: Flink > doesn't support primitive array for Hive functions yet. > at > org.apache.flink.table.functions.hive.util.HiveFunctionUtil.isSingleBoxedArray(HiveFunctionUtil.java:34) > {code} > > > > I think we should determine whether the argTypes is Array , replace primitive > Array type.` > If argsType is Array , inputs should be converted to an object[]. > If argsType is not Array, we can keep origin code logic. > HiveFunctionUtil.isSingleBoxedArray(argTypes); throws exception when argTypes > is Array and the element type is BOOLEAN | TINYINT | SMALLINT | INTEGER | > BIGINT | FLOAT | DOUBLE. > Correct me if I am wrong, thanks > -- This message was sent by Atlassian Jira (v8.20.1#820001)