阿里云中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)-阿里云帮助中心

相关推荐
210Brian5 分钟前
蓝桥杯单片机学习笔记(十四) V2026大模板源代码
单片机·学习·蓝桥杯
Cloud_Shy6188 分钟前
Linux 系统权限知识及应用实践
linux·运维·服务器·centos·云计算
互联圈运营观察9 分钟前
深圳干式变压器智能温控箱哪家强?2026年专业测评与选型指南
大数据·人工智能
同聘云11 分钟前
腾讯云国际站云服务器实例的底层虚拟化技术主要分为哪几类?
云计算·腾讯云·云服务器·云小强
腾讯蓝鲸智云15 分钟前
【运维自动化-节点管理】资源配额功能如何使用
运维·服务器·自动化·云计算
咸甜适中23 分钟前
rust语言学习笔记Trait(十)PartialOrd、Ord(大小比较)
笔记·学习·rust
小+不通文墨26 分钟前
在树莓派中用*C语言*实现MQTT通信
c语言·经验分享·笔记·嵌入式硬件·学习
TDengine (老段)27 分钟前
TDengine MemTable 深度解析 — 内存写入缓冲区的数据结构与生命周期
大数据·数据结构·数据库·物联网·时序数据库·tdengine·涛思数据
2603_9547083132 分钟前
协调控制柜在微电网中的核心地位:数据枢纽、控制核心、安全屏障
分布式·安全·架构·能源·需求分析
笨鸟先飞的橘猫38 分钟前
skynet——服务发现学习
学习·服务发现