• 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)







    
    
  • 相关阅读:
    Java设计模式——自定义Spring框架
    《网络协议从入门到底层原理》笔记(二)MAC地址、IP地址、子网划分、超网
    《网络协议从入门到底层原理》笔记(一)基本概念、通信基础
    Java并发编程——共享模型的线程安全问题
    Java 泛型
    Java并发编程——线程基础知识
    Django实战——面试评估系统
    GIT 撤销上一次merge操作
    解决composer install遇到:Your requirements could not be resolved to an installable set of packages
    yii2乐观锁和悲观锁代码示例
  • 原文地址:https://www.cnblogs.com/maoxiangyi/p/11866539.html
Copyright © 2020-2023  润新知