文章参考:记一次Flink 写Mysql优化_三年之期已到的博客-优快云博客
使用Flink开发的应用常见实时写入,即更新每一条流水的统计结果至数据库。在生产环境下,数据库为多个应用共用,那随着Flink应用的不断新增部署,数据库的写入压力越来越大,直至Flink应用出现阻塞等待、背压的情况出现,情况更严重的情况下会导致任务checkpoint超时、重启。
从以上角度出发,考虑针对一些特定场景优化Flink应用,降低写入频次,减轻对数据库的压力。
待优化的代码:
Table clearTransTable = tableEnv.fromDataStream(srcStream,$("stlBranchId"),$("stlOrgId"),$("txnAmt"),$("payTimeTs"),$("bigmccId"));
tableEnv.createTemporaryView("clearTransTable", clearTransTable);
tableEnv.executeSql(
" CREATE TABLE rts_clear_mcc_day_trans(\n" +
" stl_branch_id VARCHAR,\n" +
" stl_org_id VARCHAR,\n" +
" bigmcc_id VARCHAR,\n" +
" time_date VARCHAR,\n" +
" trans_count BIGINT,\n" +