问题一:Flink有知道这个问题吗?
Flink有大佬知道这个问题吗?在做过滤是一直包这个错,找不到原因。class org.apache.flink.api.java.tuple.Tuple2 cannot be cast to class A (org.apache.flink.api.java.tuple.Tuple2 and class A are in unnamed module of loader 'app')
参考答案:
你用flatmap去写,只收集可用的就行了,没必要再过滤
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/594021
问题二:flink vvp版本报错是不是版本不支持?
flink中,上游是msyql 下游是maxcomputer的Transaction Table2.0 ,就是部署就报错,但是latest-offset设置这个可以,earliest-offset这个就不行,是因为不支持这个vvp 版本吗?
Unable to create a source for reading table 'lj-orange.orange.chargeorder'.The cause is following: Unsupported option value 'earliest-offset', the options [earliest-offset, specific-offset, timestamp] are not supported correctly, please do not use them until they're correctly supported
参考答案:
这个参数6.x才能支持
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/593902
问题三:flink sql 如何往一个未定义列的表中写入数据?
flink sql支持创建没有定义schema的表,如create table test with ('connector'='print'); 那么如何往这种表中写入数据呢?当执行insert into select时总会报org.apache.flink.table.api.ValidationException: Column types of query result and sink for registered table XXX do not match.
参考答案:
Flink SQL 支持创建没有定义 schema 的表,但是往这种表中写入数据时,需要先为表定义一个 schema。可以通过 CREATE TABLE
语句来定义 schema,例如:
CREATE TABLE test ( id INT, name STRING, age INT ) WITH ( 'connector' = 'print' );
然后,可以使用 INSERT INTO
语句将数据插入到表中:
INSERT INTO test SELECT id, name, age FROM source_table;
如果仍然遇到 org.apache.flink.table.api.ValidationException: Column types of query result and sink for registered table XXX do not match
错误,请检查查询结果和目标表的列类型是否匹配。如果不匹配,需要修改查询结果或目标表的 schema,使它们匹配。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/592916
问题四:Flink自动重启的task和手动启动job有啥差异么?有手段能让自动重启也达到手动重启的效果么?
任务运行一段时间后,任务出现异常触发task自动重启,然后一直报连接超时问题,org.apache.flink.shaded.netty4.io.netty.channel.ConnectTimeoutException: connection timed out: /10.0.0.16:42193,通过手动cancel job 再重新submit 后,就没有连接超时异常了。Flink自动重启的task和手动启动job有啥差异么?有手段能让自动重启也达到手动重启的效果么?
参考答案:
在遇到故障时可以配置自动重启策略,当满足重启条件时,Flink 会尝试从最近的成功检查点或者保存点恢复状态并重新启动任务
关于本问题的更多回答可点击进行查看: