xiangqiao created FLINK-25142: --------------------------------- Summary: The user-defined hive udtf initialize exception in hive dialect Key: FLINK-25142 URL: https://issues.apache.org/jira/browse/FLINK-25142 Project: Flink Issue Type: Bug Components: Connectors / Hive Affects Versions: 1.14.0, 1.13.0 Reporter: xiangqiao
2.When I solved the first problem, I met the second problem,I added a unit test in HiveDialectITCase to reproduce this question: This is the compatibility of hive udtf. Refer to this issue:https://issues.apache.org/jira/browse/HIVE-5737 {code:java} @Test public void testTemporaryFunctionUDTFInitializeWithStructObjectInspector() throws Exception { // create temp function tableEnv.executeSql( String.format( "create temporary function temp_split as '%s'", HiveGenericUDTFTest.TestSplitUDTFInitializeWithStructObjectInspector.class .getName())); String[] functions = tableEnv.listUserDefinedFunctions(); assertArrayEquals(new String[] {"temp_split"}, functions); // call the function tableEnv.executeSql("create table src(x string)"); tableEnv.executeSql("insert into src values ('a,b,c')").await(); assertEquals( "[+I[a], +I[b], +I[c]]", queryResult(tableEnv.sqlQuery("select temp_split(x) from src")).toString()); // switch DB and the temp function can still be used tableEnv.executeSql("create database db1"); tableEnv.useDatabase("db1"); assertEquals( "[+I[a], +I[b], +I[c]]", queryResult(tableEnv.sqlQuery("select temp_split(x) from `default`.src")) .toString()); // drop the function tableEnv.executeSql("drop temporary function temp_split"); functions = tableEnv.listUserDefinedFunctions(); assertEquals(0, functions.length); tableEnv.executeSql("drop temporary function if exists foo"); } {code} !image-2021-11-10-21-04-32-660.png! -- This message was sent by Atlassian Jira (v8.20.1#820001)