阿里云中Flink提交作业

访问阿里云首页面:https://www.aliyun.com/

选择"按量付费"

通过选择区域,看哪个区域有虚拟交换机。

查看创建的工作空间,当工作空间状态为运行中时,点击控制台。

开通完成后,会有一个控制台:

可以选择SQL开发或者作业运维运行自己的Flink程序。

复制代码
package com.bigdata.day06;

import org.apache.flink.api.common.RuntimeExecutionMode;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.source.SourceFunction;

import java.util.Random;

/**
 * @基本功能:
 * @program:FlinkDemo
 * @author: 闫哥
 * @create:2023-11-24 14:34:50
 **/
public class _03TestAliyun {

    public static void main(String[] args) throws Exception {

        //1. env-准备环境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setRuntimeMode(RuntimeExecutionMode.AUTOMATIC);

        //2. source-加载数据
        DataStreamSource<String> dataStreamSource = env.addSource(new SourceFunction<String>() {
            @Override
            public void run(SourceContext<String> ctx) throws Exception {

                String[] words = {"hello", "world", "bigdata"};
                Random random = new Random();
                while (true) {
                    String word = words[random.nextInt(words.length)];
                    int num = random.nextInt(10);
                    ctx.collect(word + "," + num);
                    Thread.sleep(500);
                }
            }

            @Override
            public void cancel() {

            }
        });

        //3. transformation-数据处理转换
        //2. source-加载数据
        SingleOutputStreamOperator<Tuple2<String, Integer>> mapStream = dataStreamSource.map(new MapFunction<String, Tuple2<String, Integer>>() {
            @Override
            public Tuple2<String, Integer> map(String s) throws Exception {
                String[] arr = s.split(",");

                return Tuple2.of(arr[0], Integer.valueOf(arr[1]));
            }
        });
        //3. transformation-数据处理转换
        SingleOutputStreamOperator<Tuple2<String, Integer>> result = mapStream.keyBy(0).sum(1);


        result.print();
        //4. sink-数据输出


        //5. execute-执行
        env.execute();
    }
}

作业运维在本地IDEA开发,将jar包上传。

有些程序,是需要环境的,假如数据需要依赖我们虚拟机的环境,是没办法在flink上运行的,因为flink访问不到虚拟机的服务,可以写死一些数据,比如自定义数据源,或者写死一些数据,进行测试。

第一次可以无状态启动:

查看Flink自带的UI界面:

创建快照:

停止后重启,可以从某个快照进行重启:

查看运行结果:

以下是帮助文档:

Flink JAR快速入门_实时计算 Flink版(Flink)-阿里云帮助中心

相关推荐
IT技术员1 小时前
【Java学习】动态代理有哪些形式?
java·python·学习
@t.t.1 小时前
Docker容器资源控制--CGroup
linux·运维·docker·容器·云计算
AKAMAI1 小时前
迎难而上驾驭Kubernetes
云原生·kubernetes·云计算
星释2 小时前
阿里云服务迁移实战: 05-OSS迁移
服务器·阿里云·云计算
uesowys2 小时前
阿里云基于本地知识库构建RAG应用 | 架构与场景
阿里云·本地知识库构建rag应用
一只码代码的章鱼2 小时前
学习笔记(算法学习+Maven)
笔记·学习·算法
今天我又学废了2 小时前
Spark,集群搭建-Standalone
大数据·分布式·spark
冰茶_2 小时前
WPF TextBlock控件性能优化指南
学习·性能优化·wpf·控件
Json_181790144803 小时前
Alibaba国际站商品详情AP接口概述,json数据示例返回参考
大数据·数据库
keep intensify3 小时前
数据结构---单链表的增删查改
c语言·数据结构·c++·经验分享·学习·算法·分享