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

你可能感兴趣的:(源哥讲互联网技术,大数据,微服务,SaaS,CRM,在线客服,呼叫中心技术,大数据,flink,flink,sql)