华为云用户手册

  • 算子连线 算子之间的连线具有两种意义,分为控制流和数据流。 控制流表示连线两端算子具有控制关系,即算子运行顺序。 数据流表示连线两端算子之间具有数据交换关系(简称数据关系),具有数据关系的两个算子,源算子的某个输出为目标算子的某个输入。 MLS中未刻意区分这两种关系,一般而言,存在数据交换的算子同时具有控制关系和数据关系,而不存在数据交换的算子之间则仅具有控制关系。 表5 算子连线说明 流状态 状态说明 限制说明 数据流-单个输入输出 源算子具有单输出,目标算子具有单输入 如果源算子输出数据的类型和目标算子输入数据的类型不一致,则连线失败。 数据流-多个输入输出 源算子或目标算子具有多个输出或输入 会出现输入输出选择框,如果选择的源算子输出数据的类型和目标算子输入数据的类型不一致,则连线失败。 控制流 源算子和目标算子均无输出或输入 无。
  • 导航按钮 算链编排界面导航栏提供丰富的界面操作,包括运行、保存、清除、撤销、恢复等功能。 图1 算链编排界面导航栏 表1 导航栏功能说明 图标 操作名称 功能说明 运行算链 运行界面上的算链。 保存算链 保存算链。 清除算链 一键清除画布所有算子及连线。 撤销 撤销上一步的操作。键盘撤销操作也可实现该功能。 恢复 恢复撤销的操作。 剪切 选中界面上的算子,单击剪切图标即删除该算子。 可以使用键盘Shift选中多个算子,同时剪切。 剪切后可粘贴算子。 复制 选中界面上的算子,单击复制图标或键盘复制操作Ctrl+C,即复制该算子。 可同时复制多个算子。 粘贴 单击粘贴图标或键盘粘贴操作Ctrl+V,即可将复制算子粘贴在画布中。 添加评论 选中界面上的算子,单击添加评论,可以在画布空白处为该算子添加标注或注释。可以同时选中多个算子添加评论。 删除 选中界面上的算子,删除该算子。可删除多个算子。 水平排列 将画布中的算链进行水平方向的重排列。 垂直排列 将画布中的算链进行垂直方向的重排列。 转换至Notebook 将画布中的所有算链按照顺序转化为一个ipynb后缀格式的Notebook文件。 转换至Python 将画布中的所有算链按照顺序转化为一个py后缀格式的Python脚本。 算链发布 将算链一键发布至ModelArst Workflow。Workflow是邀测功能暂未上线。 放大 将画布放大。 缩小 将画布缩小。 自适应屏幕 将画布重定位到画布中间。 kernel切换 单击右上角kernel信息框,如,可切换kernel。 kernel状态 表示kernel处于空闲状态,表示kernel处于运行状态。
  • Step1 运行预置算链 单击资产浏览图标,选择“算链”,单击展开,找到预置算链“销售销量训练”,如图1所示。 图1 预置算链 双击打开销售销量训练,并选择Kernel PySpark-2.4.5。 保存模型节点将训练完成的模型保存到本地默认位置,用于进行销售销量预测。您也可以右键该节点选择“参数设置”,如图2所示。在页面右侧自行设置模型路径,指定存储位置,如图3所示为默认存储路径“./output_model/sales_model”。 图2 右键设置参数 图3 设置保存模型参数 单击导航栏运行算链,如图4所示。运行过程需要几分钟,请耐心等待。当所有节点都变为绿色,表示算链运行成功,如图5所示。 图4 单击运行 图5 训练算链运行成功 当算链运行完毕后,选中任意节点,右键选择“展示运行结果”,查看该节点的运行结果,如图6所示。 如果无运行结果,如图7所示;如果有运行结果,如图8所示,例如模型应用节点和回归评估节点。 图6 右键选择展示运行结果 图7 无运行结果 图8 有运行结果
  • 样例 数据样本为信用卡欺诈检测数据,包含Time,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16,V17,V18,V19,V20,V21,V22,V23,V24,V25,V26,V27,V28,Amount等特征。 图1 数据样本 配置流程 下图上边部分运行孤立森林算子,得到异常检测结果和孤立森林模型,下边部分加载保存的模型和新的数据进行预测。 图2 配置流程 参数设置 图3 参数设置界面 查看结果
  • 参数说明 参数 是否必选 参数说明 默认值 b_use_default_encoder 是 是否对数据中的类别型特征列进行编码处理。 True input_features_str 否 选择特征列,逗号分隔。 无 num_trees 是 孤立森林中树的个数。 100 bootstrap 是 采样数据构建孤立树时是否为有放回采样。 False max_samples 是 训练单棵孤立树的最大样本个数,该值小于1.0时该值乘以总样本数取整得到单棵孤立树的训练样本数,大于1.0时取整得到单棵数的训练样本数。 256.0 max_features 是 参与训练的特征数,小于等于1.0时特征为该值乘以总特征个数。 1.0 feature_vector_col 是 input_features_str中的特征列处理为向量列后的列名。 "assembled_features" prediction_col 是 预测结果列名。 "prediction" score_col 是 异常分数列,该列数值为孤立森林算法中每个样本的分数值,值越大异常可能越大。 "outlier_score" contamination 是 异常值比例,取值0到1浮点数,score_col列中数值大于contamination * 100%分位数值的样本视为异常值, 如果为0.0则prediction_col列输出均为0.0非异常。 0.0 contamination_error 是 计算分位数时允许的误差,如果为0.0则实际计算时为contamination * 0.01。 0.0 seed 是 随机种子。 0
  • Step3 使用ML Studio预测 新建一个预测算链。 拖拽读取模型算子至画布,设置“input_model_path”,为预测算链中保存模型路径,例如“./output/SalesForecast”。 拉取读取数据算子,设置“input_file_path”,为测试数据的文件路径,如“/home/ma-user/work/.ml-workspace/built-in-workflow/sales_forecast/sales_predict.csv”。 拉取模型应用算子,分别连接读取模型算子和读取数据算子,端口选择分别如图15和如图16所示。 图15 从读取模型算子连接模型应用算子 图16 从读取数据算子连接模型应用算子 最终预测算链如图17所示。单击运行,得到并查看预测运行结果。 图17 运行预测算链
  • Step2 使用ML Studio建模 从左侧资产浏览界面拖拽预置算子或自定义算子至右侧算链编辑界面,如图2所示,则创建算子成功。 图2 拖拽创建节点 在画布中,鼠标移至算子节点,从右侧输出端口,如图3所示,拖动连线至下一个算子节点,鼠标尽量放置至如图4 连线结束位置所示红框位置。 图3 从输出端口移动至下一节点 图4 连线结束位置 进行算子连线。 算子之间具有数据的流入流出关系,如果源算子与目标算子的输出输入端口数量都为1,则直接连线,如图4所示。 鼠标右键单击读取数据算子,选择“设置参数”,如图5所示在右侧滑出的参数设置窗口填写输入路径, 例如“/home/ma-user/work/.ml-workspace/built-in-workflow/sales_forecast/sales_train.csv”,表示读取文件为该路径下的“sales_train.csv”。 图5 读取数据参数设置 如果源算子和目标算子其中一个及以上具有多个输出输入端口,连线时需选择输入输出端口,如图6所示。 数据集分割算子连线随机森林回归算子,数据集分割算子具有输出端口datafram_1和dataframe_2,单击下拉框选择dataframe1为输出端口,随机森林回归算子只有输入端口dataframe,该步操作将数据dataframe1传入随机森林回归算子作为训练数据。 图6 数据集分割连线随机森林回归 右键单击随机森林回归算子,选择“设置参数”,在滑出的参数设置窗口填写标签列为“revenue”,如图7所示。 图7 随机森立回归参数设置 如图8所示,随机森林回归连线模型应用,随机森林回归算子输出pipeline_model传入模型应用算子, 作为模型应用算子的输入模型。 图8 随机森林回归连线模型应用 模型应用算子的dataframe由数据集分割算子的dataframe_2输入,如图9所示。 图9 数据集分割连线模型应用 添加回归评估算子作为评估算子,将其与模型应用连线,右键选择设置参数,填写标签列为“revenue”,如图10所示。 图10 回归评估参数设置 最后添加保存模型算子,将其与随机森林回归算子连线,右键该算子选择参数设置,如图11所示。填写模型保存路径(文件夹级)"./output/SalesForecast",表示输出模型保存到根目录下output/SalesForecast文件下。 图11 保存模型参数设置 算链创建完成,单击运行,耐心等待几分钟,运行成功,如图12所示。 图12 算链运行成功 如果运行失败,双击失败算子或者右键该算子选择编辑代码,如图13所示。在编辑算子代码界面可修改代码进行调试,如图14所示 。 图13 右键选择编辑代码 图14 编辑代码
  • 建立算子节点关联(连线) 鼠标移至算子节点,从右侧输出端口,如图4所示,拖动连线至下一个算子节点,鼠标尽量放置至如图5红框位置,如果不在此区域,将会导致算子连线失败。 图4 从输出端口移动至下一节点 图5 连线结束位置 如果源算子与目标算子之间存在输入输出关系,分为两种情况,如表1介绍。 表1 输入输出关系 输入输出说明 操作 源算子单输出,目标算子单输入 如果输出数据类型和输入类型一致,则连接成功;否则连接失败,如图5所示。 源算子和目标算子中有一个及以上具有多输入输出关系 弹出输入输出选择框,选择输入输出端口,单击OK,如果输出数据类型和输入类型一致,则连接成功;否则连接失败。 图6 算子连线失败
  • 算链转换 转换成Notebook 算链界面所有算子按照DAG顺序转换为一个Notebook文件并打开。 单击导航栏转化为Notebook按钮,选择另存为路径,默认路径为当前MLS Editor所在路径,如图9所示。 单击保存后,自动打开转换后的Notebook文件,如图10所示。 图9 选择Notebook文件保存路径 图10 自动打开Notebook文件 转换成python 算链界面所有算子按照顺序转换为一个python脚本并打开。 操作过程同转换为Notebook。
  • 编辑算链中算子 算子代码修改 双击界面中的算子节点或在算子节点上右键选择“编辑代码”功能,即可在算链编排界面右侧滑出算子编辑器进行算子代码编辑。 图7 算子编辑器 算子代码调试 算子代码进行编辑后,单击下方“执行代码”,即可调试该算子,算子结果展示在“代码执行结果”界面。 算子代码保存 单击下方“保存并关闭”,保存算子代码并关闭算子编辑器;单击取消则不保存并关闭算子编辑器。 算子编辑控制 算子编辑控制具有是否选择展示代码、是否选择展示结果、是否全屏。 选择展示代码、展示结果、非全屏,如图7所示。 选择展示代码、展示结果、全屏,如图8所示,单击“退出全屏”按钮则恢复。 图8 展示代码、结果、全屏
  • 准备工作 在执行操作前,需要提前完成如下准备工作,以满足操作的环境要求。 已申请公测 已购买AppStage的开发中心、运维中心、运行时引擎 已关联组织 已配置服务授权 已关联CodeArts 已配置凭证授权 已添加组织的部门/成员信息 AppStage租户需要在华为云上购买一个OBS桶并配置桶名(用于存放编译构建的产物),具体操作方法请参见创建桶。 父主题: 基于Spring Cloud框架进行应用上云
  • 华为公有云地址信息汇总 华为公有云名称 南向 域名 或者IP地址 (设备通过该地址在云管理平台上注册上线) 北向域名(用户通过该地址登录云管理平台) 中国区公有云naas面 域名:device-naas.huawei.com IP地址:43.254.2.230 https://naas.huaweicloud.com/ 中国区公有云naas1面 域名:device-naas1.huaweicloud.com IP地址:121.36.226.228 https://naas1.huaweicloud.com/ 中国区公有云cn1面 域名: cn1-device.naas.huaweicloud.com IP地址:119.3.141.183 https://cn1.naas.huaweicloud.com/ 中国区公有云cn5面 域名: cn5-device.naas.huaweicloud.com IP地址:139.9.155.21 https://cn5.naas.huaweicloud.com/ 香港云 域名:naas-hk-intl.huaweicloud.com IP地址:159.138.3.24 https://naas-intl.huaweicloud.com/ 墨西哥云 域名:mx-device.naas.huaweicloud.com IP地址:94.74.69.81 https://mx.naas.huaweicloud.com/ 西欧saas云 域名:weudev.naas.huawei.com IP地址:90.84.184.170 https://weu.naas.huawei.com/ 巴西云 域名:dev-br.naas.huaweicloud.com IP地址:119.8.83.185 https://br.naas.huaweicloud.com/ 中国区的4个平面都可以从https://global.naas.huaweicloud.com/直接登录。
  • 2019年9月 序号 功能名称 功能描述 阶段 相关文档 1 GeminiDB Cassandra支持实例节点扩缩容 随着业务数据的增加,原来申请的节点数量不能满足需求时,用户可以为实例添加节点。 商用 添加节点 2 GeminiDB Cassandra支持扩容实例的磁盘容量 随着业务数据的增加,原来申请的数据库存储容量不能满足需求,GeminiDB Cassandra支持为实例扩容磁盘。 商用 扩容磁盘
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "data": { "vertices": [ { "id": "27003509_北京中央电视台大楼", "label": "tag", "properties": { "popularity": [ 0 ], "name": [ "北京中央电视台大楼" ], "alias": [ "中央电视台光华路办公区", "中央电视台总部大楼", "大裤衩", "央视总部大楼" ] } }, { "id": "39636392_八达岭长城", "label": "tag", "properties": { "popularity": [ 0 ], "name": [ "八达岭长城" ], "alias": [ "长城" ] } } ] }, "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": " Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214" }
  • 请求示例 根据批量节点ID查询节点信息,待查询的点ID数组为"27003509_北京中央电视台大楼"和"39636392_八达岭长城"。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-query { "vertices": ["27003509_北京中央电视台大楼", "39636392_八达岭长城"] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表3 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询成功时包含data字段,data字段中包含vertices查询结果。 result String 查询结果。成功时值为success,失败时值为failed。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "data":{ "vertices":[ { "id":"Ray", "label":"user", "properties":{ "Name":["雷"], "Gender":["M"], "Age":["18-24"], "Occupation":["college/grad student"], "Zip-code":["90241"] } }, { "id":"Ella", "label":"user", "properties":{ "Occupation":["other or not specified"], "Name":["埃拉"], "Zip-code":["94402"], "Gender":["F"], "Age":["25-34"] } } ], "edges":[ { "source":"Ray", "target":"Lethal Weapon", "index":"1", "label":"rate", "properties":{ "Score":[2], "Datetime":["2000-11-22 19:16:16"] } }, { "index":"0", "source":"Ella", "label":"rate", "properties":{ "Score":[5], "Datetime":["2000-11-23 02:30:29"] }, "target":"Lethal Weapon" }, { "index":"5", "source":"Ella", "label":"friends", "properties":{}, "target":"Ray" } ] } } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": " Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214" }
  • 响应参数 表3 响应Body参数说明 名称 参数类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询成功时包含data字段,data字段中包含子图查询结果。 说明: 当前支持返回的子图边数最大值为100000,超过返回最大值时,会报错。
  • 请求示例 批量更新点属性,待更新的点数组的点名称分别为150,6。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/properties/action?action_id=batch-update { "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "properties": { "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ], "ignoreError": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 vertices 是 Json 待更新的点数组。数组参数详见vertices参数说明。 ignoreError 否 Boolean 是否忽略批量中部分点的更新错误。默认值为false。 当值为false:表示发现导致无法更新的错误,例如待更新的点不存在则报错,不更新任何点。 当值为true:表示忽略类似错误并更新其他无错误的点属性。 表3 vertices参数说明 参数 是否必选 类型 说明 vertex 是 String 点ID。 label 否 String 点的label。 properties 是 Json 待更新的各个属性的值。
  • URI POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/properties/action?action_id={actionId} 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 actionId 是 String 操作符。 batch-update 更新该属性的值。 batch-add 添加属性的值。当属性的cardinality为single时,其操作与update一致;当cardinality为list或set时,意为向集合中添加值。 batch-del 删除属性的值。
  • 请求示例 根据批量节点ID删除节点,待删除的点ID数组为Vivian和46。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-delete { "vertices": [ "Vivian", "46" ], "ignoreError": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": " Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214" }
  • 请求示例 (仅支持异步模式)导出满足过滤条件的点集合,导出路径为demo_movie/,导出文件名export_movie_and_user.csv。 POST https://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=export { "labels": [ "movies", "user" ], "vertexFilters": [ { "propertyName": "Age", "predicate": "=", "values": [ "18-24" ] } ], "exportPath": "demo_movie/", "fileName": "export_movie_and_user.csv", "obsParameters": { "accessKey": "XXXX", "secretKey": "XXXX" } }
  • 响应参数 表5 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 查询边任务ID。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 vertices 是 Json 待添加的点数组,一次最多添加1万个点。数组参数详见vertices参数说明。 overrideExists 否 Boolean 检测待插入的点是否存在,默认值为false。 当值为false时,只要有一个点存在,就会报错,且这批点均写入失败。 当值为true时,对已存在的点采取覆盖写策略。 表3 vertices参数说明 参数 是否必选 类型 说明 vertex 是 String 点ID。 label 是 String 点的label。 properties 否 Json 各个属性的值。
  • 请求示例 批量添加点,待添加的点数组的点名称分别为150,6。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-add { "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "label": "movie", "properties": { "movieid": [ "6" ], "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ], "overrideExists": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。 样例中,假设“6”这个点已存在图中,则覆盖“6”这个点的属性。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "fb74314e-a82d-41b2-8900-96e2559fa0d9000168232", "jobType": 9 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "graph [demo] is not found", "errorCode": "GES.8604 " }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 vertices 是 Json 待添加的点数组,一次最多添加1万个点。数组参数详见vertices参数说明。 overrideExists 否 Boolean 对vertices参数中已经存在的点是否采取覆盖写策略。默认值为false。 当值为false时,会忽略已经存在的点,不做处理。 当值为true时,对vertices参数中已经存在的点采取覆盖写策略。 表3 vertices参数说明 参数 是否必选 类型 说明 vertex 是 String 点ID。 label 是 String 点的label。 properties 否 Json 各个属性的值。
  • 请求示例 批量添加点,待添加的点数组的点名称分别为150,6。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-add { "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "label": "movie", "properties": { "movieid": [ "6" ], "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ], "overrideExists": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。 样例中,假设“6”这个点已存在图中,则覆盖“6”这个点的属性。
共100000条