教程简介
在本教程中,您将学习如何使用PAI提供的Swing组件构建工作流,并使用Flink资源运行工作流进行模型训练和预测,来实现相似商品的推荐。
通常购买、点击或浏览过同一个商品的用户,可能有相似的购买喜好,基于这一点,Swing算法根据用户的相似性来计算商品相似性并进行商品召回。
我能学到什么
- 如何开通阿里云实时计算Flink版服务。
- 如何构建实现相似商品推荐的工作流。
- 如何使用Flink资源运行工作流。
准备环境和资源
耗时:20分钟
开始教程前,请按以下步骤准备环境和资源:
- 访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。
- 申请免费试用OSS,并创建Bucket。
- 领取对象存储OSS资源抵扣包。
进入OSS免费资源包申请页面,单击立即试用,在确认并了解相关信息后,根据页面提示申请试用。
【注意】:如果您的对象存储OSS资源抵扣包已使用完毕或无领取资格,开通Flink试用后,将正常收取费用,计费详情请参见OSS按量付费。 - 创建OSS Bucket。登录OSS控制台,在Bucket列表页面单击创建Bucket开始创建Bucket。本教程的核心配置参数如下,其他参数可保持默认值,详细创建步骤请参见创建有地域属性Bucket。
- 地域:选择有地域属性,华南1(深圳)地域。
- 其他参数:保持默认值即可。
- 申请免费试用SLB:领取传统型负载均衡CLB资源抵扣包。进入SLB免费资源包申请页面,单击立即试用,配置开通参数,根据页面提示申请试用。本教程的核心配置参数如下,其他参数可保持默认值。
- 地域和可用区:选择华南1(深圳)地域,可用区可按需配置。
- 其他参数:保持默认值即可。
- 开通VPC,并创建虚拟交换机。
- 登录VPC控制台,在顶部选择地域为华南1(深圳),单击创建专有网络开始创建VPC。操作详情请参见创建专有网络和交换机。
- 登录VPC控制台,在交换机页面的顶部选择地域为华南1(深圳),单击创建交换机开始创建交换机,操作详情请参见创建交换机。
- 申请免费试用Flink。进入Flink免费资源包申请页面,单击立即试用,配置开通参数,根据页面提示申请试用。
- 如果您第一次访问该服务,可能需要进行角色授权。请在弹出的授权请求页面,单击前往RAM进行授权后,单击同意授权,完成自动化角色授权。授权成功后,需返回立即试用页面。
- 在Flink开通页面,单击上方提示框中的领取免费的资源抵扣包,领取Flink资源抵扣包。
- 在Flink资源抵扣包页面,确认相关信息后,单击确认订单,根据页面提示完成领取。
- 领取完毕后,在Flink开通页面,刷新此页面后完成参数配置。
参数 |
说明 |
教程配置 |
付费模式 |
阿里云实时计算Flink版免费试用仅支持按量付费。 |
按量付费 |
地域 |
本教程不涉及上下游存储,所以可不与上下游存储保持一致。 |
华南1(深圳) |
可用区 |
本教程不涉及上下游存储,所以可不与上下游存储保持一致。 |
可用区E |
资源抵扣包 |
可用于抵扣中国内地公有云地域(目前仅支持上海,杭州,北京,深圳,张家口区域)按量付费模式用量,自购买资源包日起有效期三个月。领取资源包后,单击刷新按钮,即可更新此参数。 其中,本教程示例不适用于张家口地域。 |
5000CUH |
您需要领取负载均衡SLB和对象存储OSS资源抵扣包进行抵扣(即点击所给链接,单击对应产品卡片上的立即试用,在确认并了解相关信息后,根据页面提示申请试用),否则将会产生额外费用。 如果您的对象存储OSS或SLB资源抵扣包已使用完毕或无领取资格,开通Flink试用后,将正常收取费用,计费详情请参见SLB按量付费和OSS按量付费。 |
确认领取后,选中 |
|
SLB服务 |
SLB是通过浏览器访问Flink产品控制台的必要网络连接组件。在您开通阿里云实时计算Flink版服务后,会自动开通SLB服务,该SLB专用于阿里云实时计算Flink版服务。 |
选中 |
专有网络 |
选择您已创建的专有网络。如果您没有创建,请参见创建和管理专有网络进行创建。 |
选中您需要使用的VPC名称。 |
虚拟交换机 |
每个Flink作业的Task Manager和Job Manager实例都会占用一个IP,您需要至少选择1个虚拟交换机。 如果当前无可用虚拟交换机,请在当前地域当前可用区下进行创建,详情请参见创建和管理专有网络。 |
选中您需要使用的交换机名称。 |
工作空间名称 |
每个工作空间的计算资源隔离,开发控制台相互独立。 创建成功后不可修改。 |
flink-test |
OSS存储 |
OSS用于存储作业系统检查点、作业快照、日志和JAR包等信息。新建OSS存储的具体操作,请参见开通OSS服务。 不推荐对选择的Bucket开启非默认策略,例如多版本、合规保留等,可能会导致Flink作业异常。 |
选中您需要使用的OSS Bucket名称。 |
监控服务 |
如果您选中了监控服务(为您提供商业版Prometheus监控能力),则会正常进行收费,计费详情请参见ARMS按量计费。 |
不选中 |
- 开通机器学习平台PAI并创建默认工作空间。
登录PAI控制台,在顶部选择地域为华南1(深圳),单击开通PAI并创建默认工作空间,开始开通操作,详情请参见开通PAI并创建默认工作空间。
下载数据集并上传至OSS
耗时:5分钟
- 单击Magazine_Subscriptions.csv下载CSV类型的数据集文件到本地目录,该数据集包括89689条亚马逊用户的杂志类商品购买记录。如图所示,从左至右各列的含义依次为:用户ID、商品ID、用户对商品的打分评价、时间戳。
- 登录OSS控制台,进入创建的Bucket空间中,单击上传文件,在弹出的页面中单击扫描文件,选择下载到本地的数据集文件,单击上传文件。
- 当界面显示上传成功时,表明本教程需使用的示例数据已成功上传至OSS。
配置PAI工作空间
耗时:5分钟
- 登录PAI控制台,在左侧导航栏单击工作空间列表,进入工作空间列表页面后,单击自动创建的默认工作空间名称,进入工作空间详情页。
- 关联Flink为PAI工作空间的计算资源。
在工作空间详情页的右侧单击资源管理,在弹出的页面中选择Flink全托管资源页签,页面下方为您展示上述步骤中创建的Flink资源,您需要勾选对应的Flink资源,然后单击确认关联。
完成关联后,后续您即可以在PAI-Designer中使用Flink资源运行任务。 - 关联OSS为PAI空间默认存储。
在工作空间详情页的右侧的存储设置后单击设置,在弹出的页面中配置上述步骤中创建的OSS Bucket为默认PAI工作空间默认存储路径。
完成配置后,后续您在PAI-Designer即可将数据存储于对应的OSS Bucket中。
创建PAI-Designer工作流并建模
耗时:10分钟
- 进入PAI-Designer页面。
- 登录PAI控制台,在左侧导航栏单击可视化建模(Designer),在页面中单击进入Designer。
- 单击新建工作流>新建,在弹窗中配置工作流名称,完成后单击确定,新建一个Designer工作流。
- 单击进入工作流,进入Designer页面。
- 构建工作流。
- 在左侧组件列表的搜索框中,搜索并拖入读CSV文件、swing训练、swing推荐组件至右侧画布中。
- 连接组件节点间的输出桩与输入桩,将组件连接成如下的流程。
- 分别单击读CSV文件-1、swing训练-1和swing推荐-1组件节点,在右侧的参数配置中配置以下核心参数。
组件名 |
组件配置 |
读CSV文件-1 |
|
swing训练-1 |
|
swing推荐-1 |
|
- 单击右侧空白画布,在工作流属性页签配置参数:
- Alink算法默认执行资源类型:选择为Flink。
- 工作流数据存储:本教程在上述步骤中已配置了工作空间默认存储路径,该参数可以不用配置,工作流数据将存储到工作空间默认存储路径。您也可以将该参数配置为上述步骤中创建的OSS Bucket,如果您同时配置了工作空间默认存储和工作流数据存储两个参数,以工作流数据存储配置的路径为准。
- 单击画布上方的运行按钮,运行所有工作流节点。等待大约10分钟,工作流执行成功。
完成
耗时:5分钟
工作流运行成功后,您已完成了模型训练和预测操作。您可以前往PAI默认工作空间配置的OSS Bucket存储路径中查看训练和预测结果。
- 获取工作流ID和组件节点ID。
- 在Designer工作流画布上方,单击全部任务查看。
- 在历史任务对话框,根据任务预览列查找运行的工作流,单击工作流对应的Run Name,进入任务详情页面。
- 在任务详情页面右侧基本信息区域,获取工作流ID。
- 分别单击左侧画布中的swing训练-1和swing推荐-1组件节点,在右侧运行信息页签获取节点ID。
- 登录OSS控制台,进入PAI默认工作空间配置的OSS Bucket存储空间,根据工作流ID和节点ID分别查看swing训练和swing推荐组件的运行结果。
- 查看swing训练组件的训练结果,该结果为
.csv
类型的文件,您可以将结果文件下载到本地。
训练结果文件内容如下(只展示部分结果)。其中:object字段为推荐商品ID列表;score字段为相似度得分列表。
B000063XJL {"object":["B00005N7TL","B00006GXD4","B00007BK3L","B00005NIPP","B00005N7SA","B00005NIOH","B00005NIOC"],"score":[6.289271327744577,2.936680548575717,1.8077389255788388,1.544851853590021,1.544851853590021,1.544851853590021,1.544851853590021],"itemCol":"itemid"} B000IMVNQU {"object":["B00005N7TL","B00006KT0K","B00008DP07","B00006KULE","B00005N7T5","B00007BK3L","B00077B7M6","B00005NIPP","B00005NIOH","B00005R8BL","B00005N7QI"],"score":[6.486329976413662,3.1868885871186476,3.1868885871186476,2.703490743782537,2.31253267520656,2.31253267520656,1.9617600399918982,1.8210791926392271,1.8210791926392271,1.8210791926392271,1.8210791926392271],"itemCol":"itemid"} B000INCK4I {"object":["B00005N7PN","B001LF4EVO","B00005N7QN","B000BW56WO","B0001MS2D4"],"score":[23.714099425086584,2.465383582188798,1.9149558065892445,1.6849363590348918,1.6849363590348918],"itemCol":"itemid"} B00I8P3HR2 {"object":["B00005N7QA","B00005NIOH","B00007BK3L"],"score":[1.765552692141871,1.765552692141871,1.765552692141871],"itemCol":"itemid"}
- 查看swing推荐组件的预测结果,您可以将结果文件下载到本地。
预测结果文件内容如下(只展示部分结果)。其中:itemid字段为相似商品ID列表;score字段为相似度得分列表,降序排列,分数越高表明商品越相似。
AH2IFH762VY5U,B00005N7P0,5.0,1005177600,"{""data"":{""itemid"":[""B00005NIPP"",""B00005NIOP""],""score"":[2.703490734100342,2.703490734100342]},""schema"":""itemid STRING,score DOUBLE""}" AOSFI0JEYU4XM,B00005N7P0,5.0,1004486400,"{""data"":{""itemid"":[""B00005NIPP"",""B00005NIOP""],""score"":[2.703490734100342,2.703490734100342]},""schema"":""itemid STRING,score DOUBLE""}" A3JPFWKS83R49V,B00005N7OJ,3.0,1174694400, A19FKU6JZQ2ECJ,B00005N7OJ,5.0,1163116800, A25MDGOMZ2GALN,B00005N7P0,5.0,1405296000,"{""data"":{""itemid"":[""B00005NIPP"",""B00005NIOP""],""score"":[2.703490734100342,2.703490734100342]},""schema"":""itemid STRING,score DOUBLE""}" A3XT9XXWXFMJ1,B00005N7P0,3.0,1403568000,"{""data"":{""itemid"":[""B00005NIPP"",""B00005NIOP""],""score"":[2.703490734100342,2.703490734100342]},""schema"":""itemid STRING,score DOUBLE""}" A3ERU005ES1IHT,B00005N7P0,5.0,1401580800,"{""data"":{""itemid"":[""B00005NIPP"",""B00005NIOP""],""score"":[2.703490734100342,2.703490734100342]},""schema"":""itemid STRING,score DOUBLE""}"
清理及后续
耗时:5分钟
清理
实时计算Flink版提供的按量付费(3个月5000CUH计算资源)试用,具有时长和容量限制,使用完请及时清理相关资源。如果未及时清理资源,相关Flink工作空间将按照按量付费模式正常进行计费,涉及的其他产品服务也会正常收取费用。完成教程后,您可以按照如下场景进行处理:
- 如果您需要继续使用,此时5000CUH资源已使用完或者已经超过3个月,请随时查看欠费金额,并在规定时间内充值结清欠费账单,否则无法继续正常使用工作空间。计费详情请参见按量付费和欠费说明。
- 如果您不需要继续使用,请及时清理测试数据和试用资源:
- 实时计算Flink版资源清理
登录实时计算控制台,单击目标工作空间操作列下的更多>释放资源,单击确定。应用实时监控服务ARMS(如果您开通时选中)和负载均衡SLB会随实时计算Flink版一起被释放。 - 对象存储OSS资源清理
删除对象存储空间,详情请参见删除存储空间。 - 专有网络VPC资源清理
删除专有网络,详情请参见删除专有网络。
后续
您还可以参考以上操作步骤,使用Flink计算资源构建新的Designer工作流进行模型训练和预测。
总结
常用知识点
问题1:在工作流属性页签,设置Alink算法默认执行资源类型为Flink后,是否还需要单独为每个组件节点设置运行时使用的计算资源?(单选题)
- 否
- 是
- 正确答案是否,因为设置工作流属性后,即为每个组件节点设置了使用的计算资源,不需要再单独设置。