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

举报
阅识风云 发表于 2017/11/13 18:21:13 2017/11/13
【摘要】 本文为大家介绍如何快速使用Cloud Stream实时流计算服务。

cs_01_title_02.png

本文为大家介绍如何快速使用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桶,可以跳过这一步。

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

                    区域:中国华北区1

                    桶名称:smoke-test

                    存储类别:标准存储


申请实时流计算服务

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


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

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

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

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

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

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

    cs_01_001.png


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

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

    cs_01_002.png


创建并提交作业

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

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

    cs_01_003.png


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

    cs_01_004.png

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

    cs_01_005.png


步骤 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语句。    

            cs_01_006.png


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

    cs_01_007.png

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

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

    cs_01_008.png

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

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

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

   cs_01_009.png

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

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

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

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

            cs_01_010.png

            如果作业状态为“提交失败”或“运行异常“,表示作业提交或运行失败。请在作业列表中,单击作业名称“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”,可以查看作业的详细信息。

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

             cs_01_011.png

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


删除作业

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

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


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


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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。