我使用flink(JDBCInputFormat(以分布式方式从postgresql数据库中读取数据。JDBCInputFormat要求为所有数据库列指定TypeInformation。Postgresql使用特殊的数组类型PgArray。如果我尝试使用BasicArrayTypeInfo,我总是得到"java.lang.ClassCastException:org.postgresql.jdbc.PgArray无法转换为[Ljava.lang.String;"。有什么解决办法吗?
提前感谢,Hannes
您的问题与此非常相似:从postgresql 读取数据时,无法在flink中提取Json数据
我认为应该使用TypeInformation.of(PgArray.class)
而不是BasicArrayTypeInfo
,并在映射阶段手动将其转换为Array。