【尚硅谷Java版】Flink中DataStream API篇之创建执行环境

【尚硅谷Java版】Flink中DataStream API篇之创建执行环境

一、基础知识

        Flink有非常灵活的分层API设计,核心层就是DataStream/DataSet API。新版已经实现流批一体,DataSet API被弃用,统一使用DataStream API处理流数据和批数据。
        DataStream本身是Flink中一个用来表示数据集合的类,Flink代码其实就是基于这种数据类型的处理。一个Flink程序,其实就是对DataStream的各种转换,具体来说,代码基本上都由以下几个部分组成:(1)获取执行环境 execution enviroment (2)读取数据源 source (3)定义基于数据的转换操作 transformations (4)定义计算结果的输出位置 sink (5)触发程序执行 execute。
其中第一部分的获取执行环境和第五部分的触发程序执行,都可以认为是对执行环境的操作,所以我们可以将其精简为下面四个部分:

  1. 执行环境 enrironment
  2. 数据源 source
  3. 转换操作 transformation
  4. 输出 sink
    在这里插入图片描述

二、创建执行环境

        flink程序的第一步就是创建执行环境,这是flink程序的基础。
        在代码中创建执行环境,就是调用这个类的静态方法,具体有以下三种形式:

  1. getExecutionEnvironment(),会根据当前运行的方式,自行决定该返回什么样的运行环境,不需要做格外的判断,简单高效
 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
  1. createLocalEnvironment(),返回一个本地执行环境,可以在调用时传入一个参数,指定默认的并行度,如果不传入就默认并行度就是本地的CPU核心数
StreamExecutionEnvironment localEnv = StreamExecutionEnvironment.createLocalEnvironment ();
  1. createRemoteEnvironment(),这个方法返回集群执行环境,需要在调用的时候指定JobManager的主机名和端口号,并指定在集群中运行的jar包
 StreamExecutionEnvironment remoteEnv = StreamExecutionEnvironment.createRemoteEnvironment(
         "host",    JobManager主机名
          1234,     JobManager进程端口号
          "path/to/jarFile.jar"   提交到JobManager的Jar包
          );

通过以上三种方式获取到程序执行环境后,我们可以对执行环境进行灵活的设置,比如全局设置的并行度、禁用算子链等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值