我在为flink 1.11开发新的连接器时,发现了问题。 连接器的旧版本是支持flink1.9的,最近升级了flink 1.11后,test中,发现创建连接器需要声明schema,schema需要使用TableSchema信息,TableSchema包含的DataType,DataType指定物理类型后,在TableSourceSinkFactory中,获得的schema中,丢失了前面指定的物理类型。 这个问题影响了source、sink。导致了启动时,检查类型不能通过。 例如 DataTypes.DATE().bridgedTo(java.sql.Date.class);中,在运行时物理类型java.sql.Date丢失了,实际使用的是java.time.LocalDate。
* 创建连接器 [创建连接器] * TableSourceSinkFactory中的创建sink [TableSourceSinkFactory中的创建sink] * TableSchema的运行时物理信息 [TableSchema的运行时物理信息]
我在flink的jira没找到提交问题的按钮,so,就把问题发在了中文组里,请大家支持下这个问题~ 赵建云 *来自志愿者整理的flink邮件归档
补充图片链接 创建连接器 http://image.zhaojianyun.com/mweb/bug1.png TableSourceSinkFactory中的创建sink http://image.zhaojianyun.com/mweb/bug2.png TableSchema的运行时物理信息 http://image.zhaojianyun.com/mweb/bug3.png*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。