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)







    
    
  • 相关阅读:
    NopCommerce4.2 常见错误及异常处理
    使用NopCommerce微信电商系统
    简单理解Socket
    html5 postMessage解决跨域、跨窗口消息传递
    html5 Web Workers
    node.js module初步理解
    node.js调试
    最简单的JavaScript模板引擎
    简单JavaScript模版引擎优化
    容易被忽略CSS特性
  • 原文地址:https://www.cnblogs.com/maoxiangyi/p/11866539.html
Copyright © 2011-2022 走看看