articleList

04-Blink介绍和IDEA里面运行Flink运行流程解析

2025/03/13 posted in  Flink
Tags: 

  • Flink和Blink关系

    • 2019年Flink的母公司被阿里全资收购
    • 阿里进行高度定制并取名为Blink (加了很多特性 )
    • 阿里巴巴官方说明:Blink不会单独作为一个开源项目运作,而是Flink的一部分
    • 都在不断演进中,对比其他流式计算框架(老到新)
      • Storm 只支持流处理
      • Spark Streaming (流式处理,其实是micro-batch微批处理,本质还是批处理)
      • Flink 支持流批一体
  • 算子Operator

    • 将一个或多个DataStream转换为新的DataStream,可以将多个转换组合成复杂的数据流拓扑
    • Source 和 Sink 是数据输入和数据输出的特殊算子,重点是transformation类的算子
  • 代码

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
  • 那我们在IDEA里面运行这样就行?实际项目也是这样用???

    • flink可以本地idea执行模拟多线程执行,但不能读取配置文件,适合本地调试
    • 可以提交到远程搭建的flink集群
    • getExecutionEnvironment() 是flink封装好的方式可以自动判断运行模式,更方便开发
    • 如果程序是独立调用的,此方法返回本地执行环境
    • 如果从命令行客户端调用程序以提交到集群,则返回此集群的执行环境,是最常用的一种创建执行环境的方式
  • 最终线上部署会把main函数打成jar包,提交到Flink进群进行运行, 会有UI可视化界面