Flink SQL填坑记2:Flink和MySQL的Bigdata类型不同导致ClassCastException报错

2023-12-18 22:55:06

最近在开发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

文章来源:https://blog.csdn.net/sunlen/article/details/135070387
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。