开发者社区> 问答> 正文

flink 1.11使用连接器时schema丢失DataType指定的物理信息怎么办?

我在为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邮件归档

展开
收起
游客sadna6pkvqnz6 2021-12-07 17:15:34 1070 0
1 条回答
写回答
取消 提交回答
  • 补充图片链接 创建连接器 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

    2021-12-07 20:35:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 覃立辉 立即下载
Flink CDC Meetup PPT - 孙家宝 立即下载
Flink CDC Meetup PPT - 徐榜江 立即下载