【详述】问题详细描述 flink-connector无法获取date类型的数据
【导入/导出方式】数据从sr中导出到flink,date类型的数据能从sr中读取,但是get的时候无法获取,没有对应的getdate的方法,试过将将获取source换成string,timestamp都不行,通过getstring,gettimestamp也获取不到,最后通过getint能获取到,但是获取的日期数据成了一串数字,试过了simpleDateFormat也不行
请问下sr里面定义的是date类型吗
是的没错,请问有没有处理办法?我目前急需,感谢,还有timestamp带时区,datetime数据类型没有,您也可以看看
你这个是哪个版本的flink - connector,我用的1.2.2_flink-1.14_2.12,没有你这个getField方法
依赖的 flink 版本是 1.14
这个 1.14 就是代表的依赖的 flink 的版本,1.14 版本的 flink 应该都有这个方法
把 RowData 转成 GenericRowData
百度官网查了下没搞懂怎么转,这是我的流:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource rowDataDataStreamSource = env.addSource(StarRocksSource.source(tableSchema, options)).setParallelism(1);
我是这样的,在你代码这里把rdr_search 转一下就行了
GenericRowData row= (GenericRowData) rdr_search;
xx.setUpdateTime(((TimestampData) row.getField(3)).toTimestamp());
测试Timestamp类型是能转出来的
你这个报的是 es 那边的错误,应该是 es 无法接收 java.sql.Timestamp 类型的数据,可以把 java.sql.Timestamp 转成 es 能接收的数据试一下
这样换了timestamp,可以了老板,感谢