本文主要是介绍Flink SQL填坑记2:Flink和MySQL的Bigdata类型不同导致ClassCastException报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在开发Flink SQL的时候,需要关联Kafka事实表和MySQL维表,得到的数据写入Phoenix表中,但是其中有个字段,Kafka表、MySQL表和Phoenix表都是BigData类型,但是在实现的时候却报“java.math.BigInteger cannot be cast to java.lang.Long”异常,从报错信息来看,是由于BigInteger 和Long的转换出现问题,下面详细讲解一下报错过程。
具体报错信息如下:
java.lang.RuntimeException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
at org.apache.flink.table.runtime.operators.join.lookup.LookupJoinWithCalcRunner$CalcCollector.collect(LookupJoinWithCalcRunner.java:82)
at org.apache.flink.table.runtime.operators.join.lookup.LookupJoinWithCalcRunner$CalcCollector.collect(LookupJoinWithCalcRunner.java:69)
at org.apache.flink.table.functions.TableFunction.collect(TableFunction.java:196)
at org.apache.flink.connector.jdbc.table.Jd
这篇关于Flink SQL填坑记2:Flink和MySQL的Bigdata类型不同导致ClassCastException报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!