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

相关推荐
知识分享小能手20 分钟前
微信小程序入门学习教程,从入门到精通,项目实战:美妆商城小程序 —— 知识点详解与案例代码 (18)
前端·学习·react.js·微信小程序·小程序·vue·前端技术
xiaogg367831 分钟前
阿里云k8s部署微服务yaml和Dockerfile文件脚本
阿里云·微服务·kubernetes
做科研的周师兄39 分钟前
【机器学习入门】7.4 随机森林:一文吃透随机森林——从原理到核心特点
人工智能·学习·算法·随机森林·机器学习·支持向量机·数据挖掘
weixin_307779131 小时前
AWS Redshift 数据仓库完整配置与自动化管理指南
开发语言·数据仓库·python·云计算·aws
QZ_orz_freedom1 小时前
学习笔记--文件上传
java·笔记·学习
deng-c-f1 小时前
Linux C/C++ 学习日记(24):UDP协议的介绍:广播、多播的实现
linux·网络·学习·udp
爱吃甜品的糯米团子1 小时前
Linux 学习笔记之 VI 编辑器与文件查找技巧
linux·笔记·学习
2301_768350232 小时前
RabbitMq快速入门程序
分布式·rabbitmq·ruby
im_AMBER2 小时前
数据结构 03 栈和队列
数据结构·学习·算法
阿里云大数据AI技术2 小时前
云栖实录 | 通义实验室基于MaxCompute进行大模型数据管理及处理
大数据·人工智能