ToB企服应用市场:ToB评测及商务社交产业平台

标题: 云小课|MRS基础原理之Flink组件介绍 [打印本页]

作者: 刘俊凯    时间: 2023-2-21 21:25
标题: 云小课|MRS基础原理之Flink组件介绍
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。
摘要:Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。
本文分享自华为云社区《【云小课】EI第44课 MRS基础原理之Flink组件介绍》,作者:阅识风云。
Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。
Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。
本课程为您介绍华为云MapReduce服务中Flink服务的基本原理介绍并展示如何通过MRS集群客户端提交Flink作业。
图1 Flink技术栈
Flink重点构建如下特性:
Flink结构

Flink结构如下图所示。
图2 Flink结构
Flink整个系统包含三个部分:
Flink Client主要给用户提供向Flink系统提交用户任务(流式作业)的能力。
Flink系统的业务执行节点,执行具体的用户任务。TaskManager可以有多个,各个TaskManager都平等。
Flink系统的管理节点,管理所有的TaskManager,并决策用户任务在哪些Taskmanager执行。JobManager在HA模式下可以有多个,但只有一个主JobManager。
MRS Flink关键特性

Table API和SQL借助了Apache Calcite来进行查询的解析,校验以及优化,可以与DataStream和DataSet API无缝集成,并支持用户自定义的标量函数,聚合函数以及表值函数。简化数据分析、ETL等应用的定义。下面代码实例展示了如何使用Flink SQL语句定义一个会话点击量的计数应用。
  1. SELECT userId, COUNT(*)  
  2. FROM clicks  
  3. GROUP BY SESSION(clicktime, INTERVAL '30' MINUTE), userId
复制代码
Flink允许用户在SQL中表示CEP(Complex Event Processing)查询结果以用于模式匹配,并在Flink上对事件流进行评估。
CEP SQL 通过MATCH_RECOGNIZE的SQL语法实现。MATCH_RECOGNIZE子句自Oracle Database 12c起由Oracle SQL支持,用于在SQL中表示事件模式匹配。CEP SQL使用举例如下:
  1. SELECT T.aid, T.bid, T.cid
  2. FROM MyTable
  3.     MATCH_RECOGNIZE (
  4.       PARTITION BY userid
  5.       ORDER BY proctime
  6.       MEASURES
  7.         A.id AS aid,
  8.         B.id AS bid,
  9.         C.id AS cid
  10.       PATTERN (A B C)
  11.       DEFINE
  12.         A AS name = 'a',
  13.         B AS name = 'b',
  14.         C AS name = 'c'
  15.     ) AS T
复制代码
如何使用Flink客户端

购买一个包含Flink组件的MRS集群,MRS集群的创建可参考MRS快速入门的“创建集群”章节,例如购买一个MRS 3.1.0集群,未开启了Kerberos认证。
1.集群正常运行后,安装集群客户端,例如安装目录为“/opt/hadoopclient”。Flink客户端的安装可以参考MRS用户指南的“安装客户端”章节。
2.以客户端安装用户,登录安装客户端的节点。
3.执行以下命令,切换到客户端安装目录。
  1. cd /opt/hadoopclient
  2. source bigdata_env
复制代码
4.运行wordcount作业。
方式1:执行如下命令启动session,并在session中提交作业。
  1. yarn-session.sh -nm "session-name"
  2. flink run /opt/hadoopclient/Flink/flink/examples/streaming/WordCount.jar
复制代码
方式2:执行如下命令在Yarn上提交单个作业。
  1. flink run -m yarn-cluster /opt/hadoopclient/Flink/flink/examples/streaming/WordCount.jar
复制代码
5.作业提交成功后,客户端界面显示如下。
图3 在Yarn上提交作业成功
图4 启动session成功
图5 在session中提交作业成功
6.使用运行用户登录MRS集群的FusionInsight Manager界面,单击“集群 > 服务 > Yarn”,单击“ResourceManager WebUI”后的链接,进入Yarn服务的原生页面,找到对应作业的application,单击application名称,进入到作业详情页面。
图6 application
好了,本期云小课就介绍到这里,快去体验MapReduce(MRS)更多功能吧!猛戳这里
 
点击关注,第一时间了解华为云新鲜技术~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4