云知易Cloud Stream实时流计算服务 入门 01 快速入门

网友投稿 1089 2022-05-29

本文为大家介绍如何快速使用Cloud Stream实时流计算服务。基本流程如下:

1.         准备数据源和数据输出通道

2.         准备对象存储服务

3.         申请实时流计算服务

4.         创建并提交作业

5.         从数据源接入实时数据

6.         查看作业信息及运行结果

7.         删除作业

为了方便大家了解使用过程,我们将通过一个简单的样例,介绍如何快速使用Cloud Stream服务。

样例场景为实时录入学生科目成绩并输出成绩大于90分的学生信息。

针对该场景,我们需要创建一个作业,并且该作业有一个输入流和一个输出流。输入流用于实时录入学生科目成绩,输出流用于输出成绩大于90分的学生信息。

准备数据源和数据输出通道

首先,我们要为样例作业开通如下所示的两个DIS(数据接入服务)通道,分别用作作业的数据源和数据输出通道,且DIS通道必须与Cloud Stream服务的作业处于同一个区域。具体操作请参见DIS服务的“用户指南 > 操作指南 > 使用DIS > 开通DIS通道”。

−            用于作业输入流的DIS通道:

通道名称:csinput

分区数量:3

数据转储:无

−            用于作业输出流的DIS通道:

通道名称:csoutput

分区数量:3

数据转储:无

准备对象存储服务

如果新建作业时,需要为作业存储运行日志、保存checkpoint信息或存放调试数据,则需要先在对象存储服务(OBS)中申请一个OBS桶,且OBS桶必须与Cloud Stream服务的作业处于同一个区域。

如果您已经申请了OBS桶,可以跳过这一步。

【云知易】Cloud Stream实时流计算服务 入门 01 快速入门

在本样例中,需要申请一个OBS桶。示例如下:

区域:中国华北区1

桶名称:smoke-test

存储类别:标准存储

申请实时流计算服务

用户可以在Cloud Stream服务的管理控制台页面,申请实时流计算服务。

步骤 1     在浏览器中访问公有云网站www.huaweicloud.com。

步骤 2     单击页面右上角的“控制台”,然后输入帐号、密码登录。

如您尚未注册公有云,可单击“免费注册”,根据界面提示注册一个公有云帐号。

步骤 3     在管理控制台首页,选择“所有服务 > 数据分析 > 实时流计算服务”,进入Cloud Stream管理控制台。

步骤 4     在Cloud Stream管理控制台页面单击左上角的,选择区域,如“中国华北区1”。

步骤 5     单击“申请实时流计算服务”,进入“申请实时流计算服务”页面。

步骤 6     勾选“我已阅读并同意《华为云数据接入服务协议》” 和“《华为云用户协议》”,然后单击“申请”。

步骤 7     申请实时流计算服务成功后,系统将自动跳转到“概览”页面,如下图所示。

创建并提交作业

使用实时流计算服务,首先要创建一个作业,假设创建一个名称为“JobSample”的作业。

步骤 1     在Cloud Stream管理控制台的左侧导航栏中,单击“作业管理”,进入“作业管理”页面。

步骤 2     单击“新建”,弹出“新建作业”页面,配置作业信息,如下图所示:

步骤 3     单击“确认”,进入“编辑”页面,在SQL语句编辑区域中会显示“默认”模板的SQL语句。

步骤 4     在SQL语句编辑区域中,可以根据作业的实际需要,编写SQL语句。在本样例中,我们使用“默认”模板的SQL语句即可,具体SQL语句如下所示:

/**     * 该示例从DIS读取数据并将查询结果写入DIS     * >>>>>>>>>>>>>>>>>>>>请务必确保您的账户下已在数据接入服务(DIS)里创建了您配置的通道<<<<<<<<<<<<<<<<<<<<     *     **/   /*************************正式业务逻辑开始****************************************/      /** 创建输入流,从DIS的csinput通道获取数据。     *     * 根据实际情况修改以下选项:     * channel:数据所在通道名     * partitionCnt:该通道分区数     * encode: 数据编码方式,可以是csv或json     * fieldDelimiter:当编码格式为csv时,属性之间的分隔符     **/   create source stream student_scores (     student_number STRING,    /* 学号 */     student_name   STRING,    /* 姓名 */     subject        STRING,    /* 学科 */     score          INT        /* 成绩 */   ) WITH (     type = "dis",     region = "southchina",     channel = "csinput",     partitionCnt = "1",     encode = "csv",     fieldDelimiter = ","   );      /** 创建输出流,结果输出到DIS的csoutput通道。     *     * 根据实际情况修改以下选项:     * channel:数据所在通道名     * partitionKey:当通道有多个分区时用来分发的主键     * encode: 结果编码方式,可以为csv或者json     * fieldDelimiter: 当编码格式为csv时,属性之间的分隔符     **/   create sink stream score_greate_90 (     student_number STRING,    /* 学号 */     student_name   STRING,    /* 姓名 */     subject        STRING,    /* 学科 */     score          INT        /* 成绩 */   ) WITH (     type="dis",     region="southchina",     channel = "csoutput",     partitionKey = "student_name",     encode = "csv",     fieldDelimiter = ","   );      /** 将数学成绩大于90分的同学信息输出 **/   insert into score_greate_90 select * from student_scores where score > 90;

SQL语句主要包含3个部分:

l  创建输入流:流定义中的字段信息需要与往入流DIS通道录入的数据格式一致。流定义的with中的参数需要与入流DIS通道的信息一致。

l  创建输出流:流定义中with中的参数需要与用作出流的DIS通道的信息一致。

l  业务逻辑:根据需求场景编写SQL语句,并将结果数据插入到出流。

步骤 5     SQL语句编写完成后,单击“语义校验”,验证SQL正确性。

只有语义校验成功后,才可以执行“调试”、“提交”或“启动”作业的操作。

如果校验成功,提示“SQL语义校验成功”。

如果校验失败,会在错误的SQL语句前面显示红色的“X”记号,鼠标移动到“X”号上可查看详细错误,请根据错误提示修改SQL语句。

步骤 6     在“编辑”页面的右侧 “运行参数设置”页签,设置运行参数。如下图所示:

步骤 7     单击“调试”,“编辑”页面右侧自动跳转到“调试参数设置”页签,配置调试参数,然后单击“开始调试”。

在本样例中,“数据输入方式”设置为“手动录入”, 您也可以设置为“OBS”方式,前提是需要先将测试数据存放到配置项“数据转储地址”指定的OBS桶中。

调试成功会弹出“调试结果”页面。

如果调试结果符合预期,说明作业可以正常运行。

如果调试结果不符合预期,说明作业业务逻辑可能存在问题,请修改SQL语句后再重新调试。

步骤 8     单击“保存”,保存作业和相关参数。

步骤 9     单击“提交”,此时显示“作业费用清单”页面,公测期间是免费的,单击“确认”,将作业提交并启动。

提交作业后,系统将自动跳转到“作业管理”页面,新创建的作业将展现在作业列表中,在“状态”一列中可以查看作业状态。

作业状态为“提交中”,表示作业正在提交,请耐心等待。提交成功后,作业状态变为“运行中”。

如果作业状态为“提交失败”或“运行异常“,表示作业提交或运行失败。请在作业列表中,单击作业名称“JobSample”,然后单击“调试日志”,查看作业运行日志。请根据日志解决故障后,再重新提交作业。

从数据源接入实时数据

前面已经申请了DIS通道作为数据源,提交作业成功后,用户就可以将数据通过DIS通道不断上传至DIS服务,实现向Cloud Stream服务的作业提供实时流数据源。在本样例中,我们将构造本地数据并上传至DIS通道“csinput”, 具体操作请参见DIS服务的“用户指南 > 操作指南 > 使用DIS > 发送数据到DIS服务”。

样例数据示例如下,录入学生科目成绩,每条记录包含4个字段,即学号、姓名、科目、成绩:

1,zhangxx,math,95

2,lixx,math,90

3,wangxx,math,85

4,chenxx,math,92

查看作业信息及运行结果

步骤 1     作业提交后,在“作业管理”页面的作业列表中,单击作业名称“JobSample”,可以查看作业的详细信息。

具体可以查看作业详情、仪表盘、执行计划、任务列表、审计日志和调试日志。

步骤 2     如果用户需要查看作业的输出结果,需要到DIS上查看用于作业输出流的DIS通道上的数据,详细操作请参见DIS的“用户指南 > 操作指南 > 从DIS 服务获取数据”。

删除作业

样例作业运行成功后,如果不再需要本样例作业,可以将它删除,以免浪费资源或占用配额。删除作业步骤如下:

步骤 1     在Cloud Stream管理控制台的“作业管理”页面,在作业列表中,找到名称为“JobSample”的作业所在行,在“操作”一列中单击“更多”,再单击“删除”。

步骤 2     在弹出的确认对话框中,单击“确认”完成操作。

更多内容,请参见Cloud Stream实时流计算服务的帮助中心(http://support.huaweicloud.com/cs/index.html)。

云知易

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一文搞明白直播和点播的区别
下一篇:告诉你个秘密:斯皮尔伯格的《头号玩家》其实不是科幻片!
相关文章