zoukankan      html  css  js  c++  java
  • Flink1.9 TableAPI如何选择执行计划

    Flink1.9合并了Blink的代码,也就意味着我们在使用Table API 开发程序的时候,可以选在两种不同的执行计划。

    一种是原来的Flink的执行计划。

    一种是Blink的执行计划。


    截止到1.9的版本,虽然集成了Blink的执行计划,但是并不建议在生产中使用。

    Flink的执行计划,统称为OldPlanner


    // **********************
    // FLINK STREAMING QUERY
    // **********************
    import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
    import org.apache.flink.table.api.EnvironmentSettings
    import org.apache.flink.table.api.scala.StreamTableEnvironment
    
    val fsSettings = EnvironmentSettings.newInstance().useOldPlanner().inStreamingMode().build()
    val fsEnv = StreamExecutionEnvironment.getExecutionEnvironment
    val fsTableEnv = StreamTableEnvironment.create(fsEnv, fsSettings)
    // or val fsTableEnv = TableEnvironment.create(fsSettings)
    
    // ******************
    // FLINK BATCH QUERY
    // ******************
    import org.apache.flink.api.scala.ExecutionEnvironment
    import org.apache.flink.table.api.scala.BatchTableEnvironment
    
    val fbEnv = ExecutionEnvironment.getExecutionEnvironment
    val fbTableEnv = BatchTableEnvironment.create(fbEnv)
    



    Blink的执行计划,统称BlinkPlanner


    // **********************
    // BLINK STREAMING QUERY
    // **********************
    import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
    import org.apache.flink.table.api.EnvironmentSettings
    import org.apache.flink.table.api.scala.StreamTableEnvironment
    
    val bsEnv = StreamExecutionEnvironment.getExecutionEnvironment
    val bsSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build()
    val bsTableEnv = StreamTableEnvironment.create(bsEnv, bsSettings)
    // or val bsTableEnv = TableEnvironment.create(bsSettings)
    
    // ******************
    // BLINK BATCH QUERY
    // ******************
    import org.apache.flink.table.api.{EnvironmentSettings, TableEnvironment}
    
    val bbSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build()
    val bbTableEnv = TableEnvironment.create(bbSettings)







    
    
  • 相关阅读:
    Anaconda 安装及包管理工具 conda 进行虚拟环境包管理的基本操作
    终端分屏复用工具 tmux 基本操作教程
    在远程登陆的Ubuntu服务器上通过命令行源码编译安装 GNU M4、autoconf、automake 等程序
    Ubuntu18.04 使用过程遇到的问题记录
    缓冲区溢出基础实践(二)——ROP 与 hijack GOT
    vue.js 使用记录(1)
    fis3 安装(Linux)
    js常用共同方法
    ajax跨域 自定义header问题总结
    服务器配置记录
  • 原文地址:https://www.cnblogs.com/maoxiangyi/p/11866539.html
Copyright © 2011-2022 走看看