问题一:有没有办法把flink Row类转换为Object
基于flink做二次开发中,需要将flink SQL执行结果打印到会话中,会话中执行结果打印流程固定打印List类型数据。 大部分查询引擎(比如presto)都会在ResultSet中提供getObject方法,flink中如何实现?*来自志愿者整理的flink邮件归档
参考答案:
你要的是这个功能么? 1.11 上已经支持了。
CloseableIterator result = Table#execute#collect()*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371570?spm=a2c6h.13066369.question.56.6ad26382cVJayt
问题二:flinksql 输出到kafka用的fixed的方式 结果都输出到一个topic分区了
rt*来自志愿者整理的flink邮件归档
参考答案:
当 sink 的并发 小于 kafka partition 个数,同时 sink 并发只有一个时,FixPartitioner 会导致只会往一个分区发数据。 详见 FixPartitioner[1] 的实现,其中 parallelInstanceId
表示 subtask 的 编号,从0开始;partitions.length
表示该 topic 的分区个数, 最后返回该 subtask 应该往哪个分区发数据。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371572?spm=a2c6h.13066369.question.59.6ad263822UfNUD
问题三:Flink cdc mysql 字段是datetime类型时0000-00-00 00:00:0
当我mysql字段时datetime并且字段值是0000-00-00 00:00:00时,会被转成1970-01-01T00:00,如果我应该如何操作才能保证跟原数值保持一致? 输出的结果: 2> (true,1,zhangsan,18,1970-01-01T00:00) 3> (true,2,lisi,20,2020-11-11T14:17:46) 4> (true,3,wangwu,99,1970-01-01T00:00) 1> (true,4,zhaoliu,77,1970-01-01T00:00) 日志信息: 2020-11-11 14:30:37,418 - 19755 WARN [debezium-mysqlconnector-mysql_binlog_source-snapshot] io.debezium.connector.mysql.MySqlValueConverters:852 - Invalid value '0000-00-00 00:00:00' stored in column 'rigist_time' of table 'test.boos' converted to empty value 2020-11-11 14:30:37,424 - 19761 WARN [debezium-mysqlconnector-mysql_binlog_source-snapshot] io.debezium.connector.mysql.MySqlValueConverters:852 - Invalid value '0000-00-00 00:00:00' stored in column 'rigist_time' of table 'test.boos' converted to empty value 2020-11-11 14:30:37,424 - 19761 WARN [debezium-mysqlconnector-mysql_binlog_source-snapshot] io.debezium.connector.mysql.MySqlValueConverters:852 - Invalid value '0000-00-00 00:00:00' stored in column 'rigist_time' of table 'test.boos' converted to empty value*来自志愿者整理的flink邮件归档
参考答案:
写个 UDF 再把 1970-01-01T00:00 转回去?*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371573?spm=a2c6h.13066369.question.60.6ad26382eU1aCc
问题四:背压问题排查疑问求解
flink项目的DAG如图: http://apache-flink.147419.n8.nabble.com/file/t1014/Dingtalk_20201111100815.jpg ,job任务每晚高峰期就会出现背压问题,checkpoint超时。图中,a,b,c全部出现背压,d,e,f正常,根据 背压排查思路 http://www.whitewood.me/2019/11/03/Flink-%E5%8F%8D%E5%8E%8B%E5%88%86%E6%9E%90%E5%8F%8A%E5%A4%84%E7%90%86/ ,应该c是根源,奇怪的是查看c的metrics(outPoolUsage、inPoolUsage 、floatingBuffersUsage、exclusiveBuffersUsage ),数据显示都是0,是不是可以理解c自身处理能力导致了背压了呢,至于gc这块,差不多跑一天左右,gc次数1400左右,还有逻辑场景里,基本是keyby->window->reduce这种,中间涉及到了Set集合存储用户id,Map存储耗时和次数(主要用来计算99line,95line,将耗时时间作为key,同时间的记录数做value,减少集合大小),还有数据倾斜这块,a的并行度给kafka的partation一致,而且a,b,c,d,e,f的subtasks基本均衡,整个运行期间也没出现异常信息,像这种现象,该如何定位到问题点呢*来自志愿者整理的flink邮件归档
参考答案:
按照你描述,出问题的是def中任意1个或多个。不会是c的问题哈。*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371576?spm=a2c6h.13066369.question.61.6ad26382tacJRj
问题五:flink tm cpu cores设置
flink on yarn per模式,tm能设置cpu cores的数量吗?*来自志愿者整理的flink邮件归档
参考答案:
设置yarn.containers.vcores这个参数就可以了*来自志愿者整理的flink邮件归档
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/371579?spm=a2c6h.13066369.question.62.6ad263826P22nL