hello all:
我在为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,就把问题发在了中文组里,请大家支持下这个问题~ 赵建云 2020年8月18日 |
补充图片链接
创建连接器 http://image.zhaojianyun.com/mweb/bug1.png TableSourceSinkFactory中的创建sink http://image.zhaojianyun.com/mweb/bug2.png TableSchema的运行时物理信息 http://image.zhaojianyun.com/mweb/bug3.png 2020年8月18日 下午10:09,赵 建云 <[hidden email]<mailto:[hidden email]>> 写道: hello all: 我在为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,就把问题发在了中文组里,请大家支持下这个问题~ 赵建云 2020年8月18日 |
1.11 就用新的source sink接口吧
On Wed, Aug 19, 2020 at 12:43 AM 赵 建云 <[hidden email]> wrote: > 补充图片链接 > 创建连接器 > http://image.zhaojianyun.com/mweb/bug1.png > TableSourceSinkFactory中的创建sink > http://image.zhaojianyun.com/mweb/bug2.png > TableSchema的运行时物理信息 > http://image.zhaojianyun.com/mweb/bug3.png > > > > 2020年8月18日 下午10:09,赵 建云 <[hidden email]<mailto: > [hidden email]>> 写道: > > hello all: > 我在为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,就把问题发在了中文组里,请大家支持下这个问题~ > 赵建云 > 2020年8月18日 > > -- Best, Jingsong Lee |
是的,新的DynamicTable在开发中。table api下不能绑定物理类型的情况,导致了一些类型兼容问题,现在有了解决的方案。
赵建云 2020年8月20日 2020年8月20日 下午2:27,Jingsong Li <[hidden email]<mailto:[hidden email]>> 写道: 1.11 就用新的source sink接口吧 On Wed, Aug 19, 2020 at 12:43 AM 赵 建云 <[hidden email]<mailto:[hidden email]>> wrote: 补充图片链接 创建连接器 http://image.zhaojianyun.com/mweb/bug1.png TableSourceSinkFactory中的创建sink http://image.zhaojianyun.com/mweb/bug2.png TableSchema的运行时物理信息 http://image.zhaojianyun.com/mweb/bug3.png 2020年8月18日 下午10:09,赵 建云 <[hidden email]<mailto:[hidden email]><mailto: [hidden email]>> 写道: hello all: 我在为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,就把问题发在了中文组里,请大家支持下这个问题~ 赵建云 2020年8月18日 -- Best, Jingsong Lee |
Free forum by Nabble | Edit this page |