yeah I am using Table API of flink. Basically I am creating my UserDefined Function like below:
class DateTimeUDF extends ScalarFunction { def eval(timeStamp: String, destFormat: String): String = { val format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") val date: Date = format.parse(timeStamp) new SimpleDateFormat(destFormat).format(date) } } And I am registering this function on Table env like below: tableEnv.registerFunction("changeDTFormat", new DateTimeUDF()) Note:- My code is working fine in Flink 1.3.2. On Thu, Dec 14, 2017 at 11:42 AM, Aljoscha Krettek <aljos...@apache.org> wrote: > Hi, > > Could you please provide a bit of context. From your second email I gather > that you're using the Table API, is that right? > > Best, > Aljoscha > > > On 14. Dec 2017, at 07:08, Shivam Sharma <28shivamsha...@gmail.com> > wrote: > > > > Basically I am registering one scalarfunction in my code. Is there any > > change in writing or registering a User Defined function in flink 1.4.0? > > > > On Wed, Dec 13, 2017 at 11:55 PM, Shivam Sharma < > 28shivamsha...@gmail.com> > > wrote: > > > >> Hi > >> > >> I am getting following issues in working code in new version 1.4.0. > >> > >> org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot > >> instantiate user function. > >> at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperator( > >> StreamConfig.java:235) > >> at org.apache.flink.streaming.runtime.tasks.OperatorChain. > >> createChainedOperator(OperatorChain.java:355) > >> at org.apache.flink.streaming.runtime.tasks.OperatorChain. > >> createOutputCollector(OperatorChain.java:282) > >> at org.apache.flink.streaming.runtime.tasks.OperatorChain. > >> createChainedOperator(OperatorChain.java:346) > >> at org.apache.flink.streaming.runtime.tasks.OperatorChain. > >> createOutputCollector(OperatorChain.java:282) > >> at org.apache.flink.streaming.runtime.tasks.OperatorChain. > >> createChainedOperator(OperatorChain.java:346) > >> at org.apache.flink.streaming.runtime.tasks.OperatorChain. > >> createOutputCollector(OperatorChain.java:282) > >> at org.apache.flink.streaming.runtime.tasks.OperatorChain.< > >> init>(OperatorChain.java:126) > >> at org.apache.flink.streaming.runtime.tasks.StreamTask. > >> invoke(StreamTask.java:231) > >> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:718) > >> at java.lang.Thread.run(Thread.java:748) > >> Caused by: java.lang.ClassCastException: cannot assign instance of > >> com.goibibo.NewClass$$anonfun$main$1 to field > org.apache.flink.streaming. > >> api.scala.DataStream$$anon$6.cleanFun$5 of type scala.Function1 in > >> instance of org.apache.flink.streaming.api.scala.DataStream$$anon$6 > >> at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues( > >> ObjectStreamClass.java:2133) > >> at java.io.ObjectStreamClass.setObjFieldValues( > >> ObjectStreamClass.java:1305) > >> at java.io.ObjectInputStream.defaultReadFields( > >> ObjectInputStream.java:2251) > >> at java.io.ObjectInputStream.readSerialData( > ObjectInputStream.java:2169) > >> at java.io.ObjectInputStream.readOrdinaryObject( > >> ObjectInputStream.java:2027) > >> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535) > >> at java.io.ObjectInputStream.defaultReadFields( > >> ObjectInputStream.java:2245) > >> at java.io.ObjectInputStream.readSerialData( > ObjectInputStream.java:2169) > >> at java.io.ObjectInputStream.readOrdinaryObject( > >> ObjectInputStream.java:2027) > >> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535) > >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422) > >> at org.apache.flink.util.InstantiationUtil.deserializeObject( > >> InstantiationUtil.java:290) > >> at org.apache.flink.util.InstantiationUtil.readObjectFromConfig( > >> InstantiationUtil.java:248) > >> at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperator( > >> StreamConfig.java:220) > >> ... 10 more > >> > >> -- > >> Shivam Sharma > >> Data Engineer @ Goibibo > >> Indian Institute Of Information Technology, Design and Manufacturing > >> Jabalpur > >> Mobile No- (+91) 8882114744 > >> Email:- 28shivamsha...@gmail.com > >> LinkedIn:-*https://www.linkedin.com/in/28shivamsharma > >> <https://www.linkedin.com/in/28shivamsharma>* > >> > > > > > > > > -- > > Shivam Sharma > > Data Engineer @ Goibibo > > Indian Institute Of Information Technology, Design and Manufacturing > > Jabalpur > > Mobile No- (+91) 8882114744 > > Email:- 28shivamsha...@gmail.com > > LinkedIn:-*https://www.linkedin.com/in/28shivamsharma > > <https://www.linkedin.com/in/28shivamsharma>* > > -- Shivam Sharma Data Engineer @ Goibibo Indian Institute Of Information Technology, Design and Manufacturing Jabalpur Mobile No- (+91) 8882114744 Email:- 28shivamsha...@gmail.com LinkedIn:-*https://www.linkedin.com/in/28shivamsharma <https://www.linkedin.com/in/28shivamsharma>*