开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

执行了一个 insert,执行了一个自定义的sink 提交到yarn会生成俩job 有办法合成一

执行了一个 insert,执行了一个自定义的sink 提交到yarn会生成俩job 有办法合成一个吗 大佬们954问.png 954问问.png

展开
收起
游客3oewgrzrf6o5c 2022-07-05 13:51:21 402 0
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,可以尝试使用 Apache Flink 的 StreamExecutionEnvironment 来实现数据流的合并,具体步骤如下:

    1. 创建一个 StreamExecutionEnvironment 对象,并指定运行环境为 Yarn。
    2. 使用 addSource 方法读取阿里云的数据源,将数据流转换为 DataStream 对象。
    3. 使用 addSink 方法将数据流写入自定义的 Sink。
    4. 调用 execute 方法启动任务。

    示例代码:

    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    env.setRuntimeMode(RuntimeExecutionMode.YARN); // 设置运行环境为 Yarn
    
    DataStream<Row> sourceStream = env.addSource(...); // 读取阿里云数据源
    
    sourceStream.addSink(...); // 写入自定义 Sink
    
    env.execute("Job Name"); // 启动任务
    

    这样做的好处是可以将两次提交合并成一个任务,提高执行效率。

    2023-08-22 17:12:26
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
深度学习+大数据 TensorFlow on Yarn 立即下载
Docker on Yarn 微服务实践 立即下载
深度学习+大数据-TensorFlow on Yarn 立即下载