开发者学堂课程【实时计算 Flink 实战课程:如何开通实时计算 Flink 版】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/330/detail/3706
如何开通实时计算 Flink 版
内容介绍:
一、课程对象和目的
二、公有云产品形态
三、实操内容
四、Flink 全托管集群开通
五、Flink 全托管公测申请
六、Flink 全托管 Datastream 作业
七、课后作业
一、课程对象和目的
1.课程对象
实时计算 Flink 版产品的新用户
2.课程目的
学会实时计算 Flink 版产品的开通
熟悉实时计算 Flink 版产品的使用
二、公有云产品形态
根据用户的使用习惯划分:
1.Blink 独享集群,即 Blink + Bayes
2.Flink 全托管、Flink 半托管/EMA(Flink on Yarn)、Fink半托管ACK(Fink on KBS),即 Flink + VVP
产品形态 |
子产品名 |
收费模式 |
主要特点 |
引擎 开发平台 |
优势 |
目标客户 |
服务状态 |
全托管 |
Blink独享集群 |
ECS粒度收费
|
Blink SQL DetaStream/Table API 最小集群:3台4core ECS 与用户VPC无缝打通 接口上与开源Flink不完全兼容 |
Blink Bayes |
定义ETL/实时BI场景,完备Blink SQL及开发平台,大大提高业务开发运维效率 |
专注自身业务发展,免运维,需要使用SQL开发业务逻辑的客户 |
商业化 |
Flink全托管 |
CU粒度收费 |
Flink SQL Datastream/Table API Autopilot 完全兼容开源Flink 按核牧费,成本低 与用户VPC无缝打通Pod粒度弹性,按需使用 |
Flink Ververica Platform(VVP) |
全托管,低成本,完全兼容开源,用户作业Flink作业可平迁,开箱即用的作业管理控制台 |
专注自身业务发展,免运维,希望与Flink社区保持兼容的客户 |
公测中 即将商业化 |
|
半托管 |
Flink版托管/EMR {Flink on Yarn} |
免费(暂定)。仅收 ECS费用 |
DataStream/Table AP1 Flink SQL Autopilot(building) 部署在用户的EMR集群 完全兼容开源Flink 部署在用户VPC中 |
Flink VVP |
对Yarn等Hadoop生态体系友好,整体业务搬站,提供开箱即用的作业管理控制台 |
熟悉Hadoop生态体系,希望独立运行集群,对Yarn集群有定期需求的客户 |
商业化 |
Flink 半托管/ACK {Flink on K8S} |
免费(暂定)。仅收 ECS费用 |
DataStream/Table AP1 Autopilot 部署在用户的ACK集群 完全兼容开源Flink 部署在用户VPC中 |
Flink VVP |
对K8s生态体系友好,高在线混布,提供开箱即用的作业管理控制台 |
熟悉K8s生态体系,希望独立运行集群,对K8s集群有定期需求的客户 |
商业化 |
三、实操内容
1.Blink 独享集群
集群开通
SQL 作业开发、调试、提交、运行
2. Flink全托管
集群开通
Datastream 作业创建、提交、运行
3. Blink 独享集群开通
(1)准备工作
准备和登录阿里云账号
创建OSS,用来存储用户的资源
创建VPC和Vswitch,最终部署在用户的VPC下
创建角色AliyunStreamDefaultRole (自动化角色授权)
(2)开通流程
购买订单
创建集群
创建项目
(3)实操步骤:
①打开阿里云官网、登录、产品分类、大数据、实时计算 Flink 版、管理控制台、购买产品、原则产品类型、地域(创建的OSS需要同一地区)、master 型号、master 数量、slave 型号、slave 数量(slave的型号和数量决定最终的创建集群的可用资源)、购买、确定服务协议、支付
②管理控制台、创建集群、前往授权、同意授权、集群列表、新建集群、选择订单、下一步、填写集群名称与备注(创建完成后无法修改)、下一步、选择对应的 OSS Bucket、 VPC(提前准备)、Zone(g)、下一步、创建、状态(运行中)
③创建项目、填写基本信息(项目名称、项目备注)、指定CU(6)、确定、查看、点击项目名称跳转进入、开发
4. Blink 独享集群 SQL 作业
(1)演示内容
创建作业
开发代码
本地调试
提交作业
运行作业
运维作业
(2)作业代码
原表
CREATE TABLE ds_ data (id
VARCHAR) WITH (type = 'random');
结果表
CREATE TABLE out_ table (cnt
varchar) WITH (type = 'print');
计算逻辑
insert INTO out_ _table
select * from ds_ data
where substring(id,1,1)<='Z' and
substring(id,1,1)>='A' ;
(3)实操演练
①进入开发界面、新建作业、填写文件名称、选择作业类型(SQL)、找到存储对应的目录、复制作业代码、点击语法检查、调试
②调试过程需要向原表进行输入(下载模板)、修改名称、双击、构造数据、数据字段、关闭、上传数据(3)、确定、本地作业运行、out table 可见输出一条数据
③右上角上线、初始资源(进行资源配置、手动的可以对资源进行修改)、下一步、数据检查、资源配置、下一步、上线
④运维、启动、读取时间、确定(运维页面可以看到一些基本信息)、数据曲线(查看各种曲线信息)、Fallover(作业出现异常进行自动恢复操作,可以看到 Fallover 的日志信息)、JobManager(日志信息、作业启动的过程)、TaskManager(.out日志可以看到输出,每一条输出的数据首字符都是大写的数据,符合预期)
四、Flink 全托管集群开通
1.准备工作
准备和登录阿里云账号
创建 OSS
创建 VPC 和 Vswitch
准备 AccessKey ID/AccessKey Secret
创建角色 AliyunStreamAsiDefaultRole (自动化角色授权)
全托管的角色
2.开通流程
购买订单
创建工作空间(自动)
五、Flink 全托管公测申请
Flink 全托管目前处于公测阶段,在购买过程中需要申请公测
Flink 全托管开通流程演示:
实时计算控制台、购买、角色授权(前往 RAM 进行授权)、同意授权、前往实名认证、重新检查状态、基本配置填写(付费模式、地狱等)、创建虚拟交换机、创建交换机、专有网络、填写名称与可用区、确定、回到购买界面、刷新、选中创建的交换机、设计工作空间名称、
计算资源配置(20)、填写 OSS 存储、Access Key 信息、确认订单、支付、管理控制台、等待空间工作状态创建(3-5分钟)、开通完毕、开发控制台、进入 VVP 开发界面
六、Flink 全托管 Datastream 作业
1.演示内容
上传 jar ( Artifacts )
用户开发好的 jar ,上传到OSS中
创建 Deployment
启动 Deployment
2. 示例作业
examples/streaming/TopSpeedWindowing.jar
作业列表、单击可添加的文件、创建作业、填写标准配置、部署目标(默认)、Jar UBI、并行度(默认为1)、高级(各项配置与资源,都使用默认值)、创建、启动
右上方期望状态与当前状态一致,表明作业正常运行
总览页面可以看到所有信息
实例
操作1:开源的 Flink 云延伸
操作2:告警监控界面
七、课后作业
1.通过 Random 模拟实时产生订单数据(订单类型包括A、B、C ) ,实时统计每3分钟各订单类型的数量。
2.提示
通过对随机产生的字符串首字符进行判断产生不同的订单类型(比如首字符是字母为A 类型,数字为 B 类型,其他为 C 类型)
使用系统时间(DDL 中使用计算列)进行滚动( Tumble )窗口开窗
使用内置函数 count ( )统计订单数量
Random (计算列产生processing time ) -Blink(逻辑处理产生订单类型,Tumble 窗口聚合统计)-Print