求助:sink to mysql应该怎么写? 继承了RichSinkFunction ,数据库连接信息放在open,还是invoke-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

求助:sink to mysql应该怎么写? 继承了RichSinkFunction ,数据库连接信息放在open,还是invoke

赵慧 2018-10-18 15:37:52 2186

转自钉钉群21789141:求助:sink to mysql应该怎么写? 继承了RichSinkFunction ,数据库连接信息放在open,还是invoke

关系型数据库 MySQL 数据库连接
分享到
取消 提交回答
全部回答(1)
  • 赵慧
    2019-07-17 23:09:17

    JasonLee:invoke 把
    问:本来想放在open,但是发现 stmt会自动关闭,conn也担心断掉之类的,但是放在invoke里面又担心效率问题
    答:invoke里加一层对连接状态的判断,不用每次invoke都连接

    答:放open里面

    问: conn 和stmt都放open里面吗? 那stmt这种会自动断开的 怎么办 ?在invoke里面再判断处理吗?
    我也考虑过这么写 但是每次preparestatement都是从新创建 会不会存在效率的问题 而且我担心加入因为需要数据库重启 是不是conn连接就断了呢 ???

    答: 数据库重启期间 抛出了异常:Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure但是看输出,应该恢复了。

    问:数据存在丢失吗?

    答: 我觉得应该会有,考虑到watermark机制

    问: 那看来还是需要在invoke函数里面

    答:这个没用啊,数据库断开之间,你在Invoke里面重新创建也是失败

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题