当前位置: 首页 > news >正文

义乌网站制作公司宝塔 wordpress 规则

义乌网站制作公司,宝塔 wordpress 规则,网站建设数据保存在哪儿,大一网站开发项目答辩背景 项目中有很多ods层(mysql 通过cannal)kafka,需要对这些ods kakfa做一些etl操作后写入下一层的kafka(dwd层)。 一开始采用的是executeSql方式来执行每个ods→dwd层操作,即类似: def main(…

背景

项目中有很多ods层(mysql 通过cannal)kafka,需要对这些ods kakfa做一些etl操作后写入下一层的kafka(dwd层)。

一开始采用的是executeSql方式来执行每个ods→dwd层操作,即类似:

 def main(args: Array[String]): Unit = {val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironmentval tableEnv: StreamTableEnvironment = StreamTableEnvironment.create(env)val configuration: Configuration = tableEnv.getConfig.getConfigurationtableEnv.createTemporarySystemFunction("etl_handle", classOf[ETLFunction])// source/sink ddltableEnv.executeSql(CREATE_DB_DDL)tableEnv.executeSql(SOURCE_KAFKA_ODS_TABLE1)tableEnv.executeSql(SINK_KAFKA_DWD_TABLE1)tableEnv.executeSql(SOURCE_KAFKA_ODS_TABLE2)tableEnv.executeSql(SINK_KAFKA_DWD_TABLE2)....// insert dml,在insert语句中调用etl_handle进行预处理和写入tableEnv.executeSql(INSERT_DWD_TABLE1)tableEnv.executeSql(INSERT_DWD_TABLE2)... 
}

当有多个ods->dwd操作放在同一个flink作业中时,发现这种方式会导致每次insert操作都是单独的DAG,非常消耗资源,特别是这些处理都是比较轻量级的,最好是能融合在同一个DAG中共享资源。

解决方案

查看flink文档:INSERT 语句 | Apache Flink

因此,可以采用statementset的方式,将不同insert sql进行分组执行,每组的insert sql会先被缓存到 StatementSet 中,并在StatementSet.execute() 方法被调用时,同一组的 insert sql(sink) 会被优化成一张DAG共用taskmanager,减少资源浪费,即类似:

def main(args: Array[String]): Unit = {val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironmentval tableEnv: StreamTableEnvironment = StreamTableEnvironment.create(env)val configuration: Configuration = tableEnv.getConfig.getConfigurationtableEnv.createTemporarySystemFunction("etl_handle", classOf[ETLFunction])// source/sink ddltableEnv.executeSql(CREATE_DB_DDL)tableEnv.executeSql(SOURCE_KAFKA_ODS_TABLE1)tableEnv.executeSql(SINK_KAFKA_DWD_TABLE1)tableEnv.executeSql(SOURCE_KAFKA_ODS_TABLE2)tableEnv.executeSql(SINK_KAFKA_DWD_TABLE2)....// insert dmltableEnv.createStatementSet().addInsertSql(INSERT_DWD_TABLE1).addInsertSql(INSERT_DWD_TABLE2).addInsertSql(INSERT_DWD_TABLE3).execute()tableEnv.createStatementSet().addInsertSql(INSERT_DWD_TABLE4).addInsertSql(INSERT_DWD_TABLE5).addInsertSql(INSERT_DWD_TABLE6).execute()
}

其他

如果是纯flink sql而不用data stream api,也是可以达到同样的效果的。

http://www.yayakq.cn/news/730050/

相关文章:

  • 做淘宝链接的网站wordpress 推荐插件
  • 石家庄开发区网站建设outlook WordPress设置
  • 电商网站的多选菜单插件客户做网站嫌贵了
  • 中山网站建设制作 .超凡科技世界十大搜索引擎排名
  • 网页设计师收费标准做移动网站优化优
  • 网站运营单位是什么意思厦门网页定制
  • 做音频主播的网站微信 wordpress
  • 网站单选框的实现我的网站模板下载 迅雷下载 迅雷下载
  • 兰州市网站乐清定制网站建设
  • 户外家具技术支持东莞网站建设做模具行业的网站
  • nodejs做网站吉林建设教育协会网站
  • 哪些人需要做网站hmm船公司网站
  • 怎么免费做网站推广ac86u做网站服务器
  • 编织网站建设thinkphp开发的网站
  • wordpress mv网站模板网站建设方案选公司
  • 机械网站怎么做wordpress钩子大全
  • 网站功能表阿里巴巴运营要学多久
  • 婚恋网站开发背景文献网络策划专员
  • 橙色企业网站源码建网站能赚钱吗
  • 做短视频网站收益阿里云做的网站误删了
  • 陶艺品网站模板如何把电脑改成服务器 做网站
  • 显示网站建设精美页面做地方生活网站
  • 站长 网站对比微信微网站统计
  • 网站建设费用 百度文库网站建设图片如何放在网站上
  • 网站开发的3个阶段ip地址做网站
  • 免费优化推广网站的软件游戏怎么开发制作
  • 绵阳科技网站建设建立企业网站的形式有哪些
  • wordpress 更改注册页面广州网站排名怎么优化
  • 网站关键词互点青岛信息网官网
  • php 网站开发收费合肥今天的最新消息