华为云用户手册

  • 创建委托 登录 统一身份认证 服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入“serverless_trust”。 委托类型:选择“云服务”。 云服务:选择“ 函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“Tenant Administrator”,单击“确定”。 Tenant Administrator:拥有该权限的用户可以对企业拥有的所有云资源执行任意操作。 单击“确定”,完成权限委托设置。
  • 资源和成本规划 该解决方案主要部署如下资源,每月花费如下所示,具体请参考华为云官网价格详情,实际收费以账单为准: 表1 资源和成本规划 华为云服务 配置示例 每月花费 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 内/公网流入流量(数据上传到OBS) 0元 内网流出流量 0元 预计每月新增1GB数据量,花费0.1490元。 该方案存储费用消耗较低,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 0元 合计 约0.1490元
  • 开始使用 登录华为云控制台,区域选择“华北-北京四”。 图1 华为云控制台 进入函数工作流FunctionGraph控制台,在函数列表中查看该方案创建的函数。 图2 创建的函数 进入相应函数中,查看该方案创建的触发器信息。 图3 视频转码函数触发器 进入统一身份认证服务控制台,查看已创建的委托信息。 图4 委托信息 在函数服务的监控中,可以查看上传视频文件到原视频文件桶后触发函数执行的日志 图5 请求日志 在视频转码存储桶中,可以看到转码后的视频文件 图5 转码后的视频文件 父主题: 实施步骤
  • 快速部署 本章节主要帮助用户快速部署“CDN自动预热缓存”解决方案。 表1 参数填写说明 参数名称 类型 是否可选 参数解释 默认值 cdn_bucket_name String 必填 OBS桶名称,全局唯一,用于作为OBS源站桶。取值范围:3~63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。 空 domain String 必填 需要预热缓存的 CDN加速 域名,取值范围: 域名 用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成,各级域名之间用实点(.)连接,国际域名75个字符。注意连接符(-)不能作为域名的开头或结尾字符。示例:download.game-apk1.com。 空 登录华为云解决方案实践,选择“ CDN自动预热缓存”模板,单击“一键部署”跳转至解决方案部署界面。 图1 解决方案实践 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 父主题: 实施步骤
  • 资源和成本规划 该解决方案主要部署如下资源,每月花费如下所示,具体请参考华为云官网价格详情,实际收费以账单为准: 表1 资源和成本规划 华为云服务 配置示例 每月花费 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 内/公网流入流量(数据上传到OBS) 0元 内网流出流量 0元 预计每月新增1GB数据量,花费0.1490元。 该方案存储费用消耗较低,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 0元 合计 约0.1490元
  • 开始使用 登录华为云控制台,区域选择“华北-北京四”。 图1 华为云控制台 进入函数工作流 FunctionGraph控制台,在函数列表中查看该方案创建的函数。 图2 创建的函数 进入创建的函数中,查看该方案创建的触发器信息。 图3 CDN自动预热缓存函数触发器 进入统一身份认证服务控制台,查看已创建的委托信息。 图4 委托信息 在函数服务的监控中,可以查看触发器在文件上传到指定桶后自动创建缓存预热任务。 图5 请求日志 在内容分发网络的预热刷新的历史记录也没中,可以看到刚创建的预热缓存任务。 图6 预热缓存任务 父主题: 实施步骤
  • 指定文件名迁移 从FTP/SFTP/OBS导出文件时, CDM 支持指定文件名迁移,用户可以单次迁移多个指定的文件(最多50个),导出的多个文件只能写到目的端的同一个目录。 在创建表/文件迁移作业时,如果源端数据源为FTP/SFTP/OBS,CDM源端的作业参数“源目录或文件”支持输入多个文件名(最多50个),文件名之间默认使用“|”分隔,您也可以自定义文件分隔符,从而实现文件列表迁移。 迁移文件或对象时支持文件级增量迁移(通过配置跳过重复文件实现),但不支持断点续传。 例如要迁移3个文件,第2个文件迁移到一半时由于网络原因失败,再次启动迁移任务时,会跳过第1个文件,从第2个文件开始重新传,但不能从第2个文件失败的位置重新传。 文件迁移时,单个任务支持千万数量的文件,如果待迁移目录下文件过多,建议拆分到不同目录并创建多个任务。 父主题: 关键操作指导
  • AES-256-GCM加密 目前只支持AES-256-GCM(NoPadding)。该加密算法在目的端为加密,在源端为解密,支持的源端与目的端数据源如下。 源端支持的数据源:HDFS(使用二进制格式传输时支持)。 目的端支持的数据源:OBS、FTP、SFTP、HDFS(使用二进制格式传输时支持)。 下面分别以OBS导出加密文件时解密、导入文件到OBS时加密为例,介绍AES-256-GCM加解密的使用方法。其它数据源的使用方法一样。 源端配置解密 创建从HDFS导出文件的CDM作业时,源端数据源选择HDFS后,在“源端作业配置”的“高级属性”中,配置如下参数。 加密方式:选择“AES-256-GCM”。 数据加密 密钥:这里的密钥必须与加密时配置的密钥一致,否则解密出来的数据会错误,且系统不会提示异常。 初始化向量:这里的初始化向量必须与加密时配置的初始化向量一致,否则解密出来的数据会错误,且系统不会提示异常。 这样CDM从HDFS导出加密过的文件时,写入目的端的文件便是解密后的明文文件。 目的端配置加密 创建CDM导入文件到OBS的作业时,目的端数据源选择OBS后,在“目的端作业配置”的“高级属性”中,配置如下参数。 加密方式:选择“AES-256-GCM”。 数据加密密钥:用户自定义密钥,密钥由长度64的十六进制数组成,不区分大小写但必须64位,例如“DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B”。 初始化向量:用户自定义初始化向量,初始化向量由长度32的十六进制数组成,不区分大小写但必须32位,例如“5C91687BA886EDCD12ACBC3FF19A3C3F”。 这样在CDM导入文件到OBS时,目的端OBS上的文件便是经过AES-256-GCM算法加密后的文件。
  • KMS加密 源端解密不支持KMS。 CDM目前只支持导入文件到OBS时,目的端使用KMS加密,表/文件迁移和整库迁移都支持。在“目的端作业配置”的“高级属性”中配置。 KMS密钥需要先在数据加密服务创建,具体操作请参见《数据加密服务 用户指南》。 当启用KMS加密功能后,用户上传对象时,数据会加密成密文存储在OBS。用户从OBS下载加密对象时,存储的密文会先在OBS服务端解密为明文,再提供给用户。 如果选择使用KMS加密,则无法使用MD5校验一致性。 如果这里使用其它项目的KMS ID,则需要修改“项目ID”参数为KMS ID所属的项目ID;如果KMS ID与CDM在同一个项目下,“项目ID”参数保持默认即可。 使用KMS加密后,OBS上对象的加密状态不可以修改。 使用中的KMS密钥不可以删除,如果删除将导致加密对象不能下载。
  • CDM自定义策略样例 示例1:授权用户创建CDM集群 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "cdm:cluster:create" ] } ]} 示例2:拒绝用户删除CDM集群 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予CDM FullAccess的系统策略,但不希望用户拥有CDM FullAccess中定义的删除CDM集群权限,您可以创建一条拒绝删除CDM集群的自定义策略,然后同时将CDM FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对CDM执行除了删除CDM集群外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "cdm:cluster:delete" ] } ]} 示例3:多个授权项策略 一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是项目级服务或都是全局级服务。多个授权语句策略描述如下: { "Version": "1.1", "Statement": [ { "Action": [ "cdm:cluster:list", "cdm:cluster:get", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "bss:*:view*" ], "Effect": "Allow" } ]}
  • 达梦数据库迁移时支持的数据类型 源端为达梦数据库,目的端为Hive、DWS时,支持的数据类型如下: 表10 达梦数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 Hive DWS 字符 CHAR 用于存储指定定长字符串 ‘a’或‘aaaaa’ CHAR CHAR CHARACTER 与 CHAR 相同 ‘a’或‘aaaaa’ CHAR CHAR VARCHAR 用于存储指定变长字符串 ‘a’或‘aaaaa’ VARCHAR VARCHAR VARCHAR2 与 VARCHAR 相同 ‘a’或‘aaaaa’ VARCHAR VARCHAR 数值 NUMERIC 用于存储零、正负定点数 52.36 DECIMAL NUMERIC DECIMAL 与 NUMERIC 相似 52.36 DECIMAL NUMERIC DEC 与 DECIMAL 相同 52.36 DECIMAL NUMERIC NUMBER 与 NUMERIC 相同 52.36 DECIMAL NUMERIC INTEGER 用于存储有符号整数,精度为10,标度为0 5236 INT INTEGER INT 与 INTEGER 相同 5236 INT INTEGER BIGINT 用于存储有符号整数,精度为19,标度为0 5236 BIGINT BIGINT TINYINT 用于存储有符号整数,精度为3,标度为0 100 TINYINT SMALLINT SMALLINT 用于存储有符号整数,精度为5,标度为0 9999 SMALLINT SMALLINT BYTE 与 TINYINT 相似,精度为3,标度为0 100 TINYINT SMALLINT BINARY 用于存储定长二进制数据 0x2A3B4058 BINARY(NULL) BYTEA(NULL) VARBINARY 用于存储可变长二进制数据 0x2A3B4058 BINARY(NULL) BYTEA(NULL) FLOAT 用于存储带二进制精度的浮点数 52.36 FLOAT FLOAT8 DOUBLE 与FLOAT类似 52.36 DOUBLE FLOAT8 REAL 用于存储带二进制精度的浮点数,但它不能由用户指定使用的精度 52.3 FLOAT FLOAT4 DOUBLE PRECISION 用于存储指明双精度的浮点数 52.3 DOUBLE FLOAT8 位串 BIT 用于存储整数数据 1、0 或 NULL 1、0 或 NULL TINYINT(1 0 NULL) BOOLEAN(true false NULL) 日期时间 DATE 用于存储年、月、日信息 1999-10-01'、'1999/10/01'或'1999.10.01' DATE TIMESTAMP TIME 用于存储时、分、秒信息 '09:10:21'或'9:10:21' 不支持(String) TIME TIMESTAMP 用于存储年、月、日、时、分、秒信息 2002-12-12 09:10:21','2002-12-12 9:10:21' '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' TIMESTAMP TIMESTAMP TIME WITH TIME ZONE 用于存储一个带时区的 TIME 值,其定义是在 TIME 类型的后面加上时区信息 '09:10:21 +8:00', '09:10:21+8:00'或'9:10:21+8:00' 不支持(String) TIME WITH TIME ZONE TIMESTAMP WITH TIME ZONE 用于存储一个带时区的 TIMESTAMP 值,其定义是TIMESTAMP类型的后面加上时区信息 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE 用于存储一个本地时区的 TIMESTAMP 值,能够将标准时区类型 TIMESTAMP WITH TIME ZONE 类型转化为本地时区类型 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' 不支持(String) 不支持(TEXT) DATETIME WITH TIME ZONE 同TIMESTAMP WITH TIME ZONE 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' TIMESTAMP TIMESTAMP WITH TIME ZONE INTERVAL YEAR 描述一个若干年的间隔,引导精度规定了年的取值范围 INTERVAL '0015' YEAR 不支持(String) 不支持(VARCHAR) INTERVAL YEAR TO MONTH 描述一个若干年若干月的间隔,引导精度规定了年的取值范围 INTERVAL '0015-08' YEAR TO MONTH 不支持(String) 不支持(VARCHAR) INTERVAL MONTH 描述一个若干月的间隔,引导精度规定了月的取值范围 INTERVAL '0015' MONTH 不支持(String) 不支持(VARCHAR) INTERVAL DAY 描述一个若干日的间隔,引导精度规定了日的取值范围 INTERVAL '150' DAY 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO HOUR 描述一个若干日若干小时的间隔,引导精度规定了日的取值范围 INTERVAL '9 23' DAY TO HOUR 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO MINUTE 描述一个若干日若干小时若干分钟的间隔,引导精度规定了日的取值范围 INTERVAL '09 23:12' DAY TO MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO SECOND 描述一个若干日若干小时若干分钟若干秒的间隔,引导精度规定了日的取值范围 INTERVAL '09 23:12:01.1' DAY TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL HOUR 描述一个若干小时的间隔,引导精度规定了小时的取值范围 INTERVAL '150' HOUR 不支持(String) 不支持(VARCHAR) INTERVAL HOUR TO MINUTE 描述一个若干小时若干分钟的间隔,引导精度规定了小时的取值范围 INTERVAL '23:12' HOUR TO MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL HOUR TO SECOND 描述一个若干小时若干分钟若干秒的间隔,引导精度规定了小时的取值范围 INTERVAL '23:12:01.1' HOUR TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL MINUTE 描述一个若干分钟的间隔,引导精度规定了分钟的取值范围 INTERVAL '150' MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL MINUTE TO SECOND 描述一个若干分钟若干秒的间隔,引导精度规定了分钟的 取值范围 INTERVAL '12:01.1' MINUTE TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL SECOND 描述一个若干秒的间隔,引导精度规定了秒整数部分的 取值范围 INTERVAL '51.1' SECOND 不支持(String) 不支持(VARCHAR) 多媒体 IMAGE IMAGE 用于指明多媒体信息中的图像类型。 图像由不定长的像素点阵组成,长度最大为 2G-1 字节。该类型除了存储图像数据之外,还可用于存储任何其它二进制数据。 0x2A3B4058 (二进制数据) 不支持 不支持 LONGVARBINARY 与IMAGE相同 0x2A3B4059 (二进制数据) 不支持 不支持 TEXT 用于存储长字符串类型,其字符串的长度 最大为 2G-1,存储长的文本串 0x5236(二进制数据) 不支持 不支持 LONGVARCHAR 与 TEXT 相似 0x5236(二进制数据) 不支持 不支持 BLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) 不支持 不支持 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) 不支持 不支持 BFILE 用于指明存储在操作系统中的二进制文件, 文件存储在操作系统而非数 据库中,仅能进行只读访问。 - 不支持 不支持
  • SAP HANA数据库迁移时支持的数据类型 源端为SAP HANA数据库时,支持的数据类型如下: 表8 SAP HANA数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 VARCHAR 用于存储指定定长字符串。 NVARCHAR 包含unicode格式数据的变长字符串。 TEXT 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 数值 BIGINT 用于存储有符号整数,精度为19,标度为0。 TINYINT 用于存储有符号整数,精度为3,标度为0。 SMALLINT SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 REAL 可以存储正的或者负的十进制数值。 DECIMAL 带固定精度和小数位数的数值数据类型。 FLOAT 用于存储带二进制精度的浮点数。 DOUBLE 用于存储指明双精度的浮点数。 日期时间 DATE 用于存储年、月、日信息。 TIME 用于存储时、分、秒信息。 TIMESTAMP 用于存储年、月、日、时、分、秒信息。 多媒体 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节。 NCLOB 这种类型能够存储最多4GB的数据。当字符集发生转换时,这种类型会受到影响。 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。
  • DLI 数据库迁移时支持的数据类型 源端为DLI数据库时,支持的数据类型如下: 表9 DLI数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 CHAR 用于存储指定定长字符串。 VARCHAR 与CHAR相同。 STRING 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 数值 BIGINT 用于存储有符号整数,精度为19,标度为0。 TINYINT 用于存储有符号整数,精度为3,标度为0。 SMALLINT SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 INT 用于存储有符号整数,精度为10,标度为0。 DECIMAL 带固定精度和小数位数的数值数据类型。 FLOAT 用于存储带二进制精度的浮点数。 DOUBLE 用于存储指明双精度的浮点数。 日期时间 DATE 用于存储年、月、日信息。 TIMESTAMP 用于存储年、月、日、时、分、秒信息。 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。
  • 神通(ST)数据库迁移时支持的数据类型 源端为神通(ST)数据库,目的端为 MRS Hive、MRS Hudi时,支持的数据类型如下: 表7 神通(ST)数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 MRS Hive MRS Hudi 字符 VARCHAR 用于存储指定定长字符串 ‘a’或‘aaaaa’ VARCHAR(765) STRING BPCHAR 用于存储指定变长字符串 ‘a’或‘aaaaa’ VARCHAR(765) STRING 数值 NUMERIC 用于存储零、正负定点数 52.36 DECIMAL(10,0) DECIMAL(18,0) INT 用于存储零、正负定点数 5236 INT INT BIGINT 用于存储有符号整数,精度为19,标度为0 5236 BIGINT BIGINT TINYINT 用于存储有符号整数,精度为3,标度为0 100 SMALLINT INT BINARY 用于存储定长二进制数据 0x2A3B4058 不支持 FLOAT VARBINARY 用于存储可变长二进制数据 0x2A3B4058 不支持 BINARY FLOAT 用于存储带二进制精度的浮点数 52.36 FLOAT FLOAT DOUBLE 用于存储指明双精度的浮点数 52.3 DOUBLE DOUBLE 日期时间 DATE 用于存储年、月、日信息 1999-10-01'、'1999/10/01'或'1999.10.01' DATE DATE TIME 用于存储时、分、秒信息 '09:10:21'或'9:10:21' STRING STRING TIMESTAMP 用于存储年、月、日、时、分、秒信息 2002-12-12 09:10:21','2002-12-12 9:10:21' '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' TIMESTAMP TIMESTAMP 多媒体 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) STRING STRING BLOB 用于存储变长的二进制大对象,长度最大为2G-1字节 0x5236(二进制数据) 不支持 BINARY 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。 1 BOOLEAN BOOLEAN
  • DWS数据库迁移时支持的数据类型 源端为DWS数据库时,支持的数据类型如下: 表6 DWS数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 char 定长字符串,存储右空格填充到指定的长度。 varchar 变长字符串,不会用空格将字段或变量填充至最大长度。 数值 double 用于存储指明双精度的浮点数 decimal(p,s) 精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 numeric 用于存储零、正负定点数。 real 与double相同。 int int存储在4个字节中,其中一个二进制位表示符号位,其它31个二进制位表示长度和大小,可以表示-2的31次方~2的31次方-1范围内的所有整数。 bigint bigint存储在8个字节中,其中一个二进制位表示符号位,其它63个二进制位表示长度和大小,可以表示-2的63次方~2的63次方-1范围内的所有整数。 smallint smallint类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 tinyint tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数。 日期时间 date 存储日期数据。 timestamp 存储日期和时间数据,无时区。 time 只用于一日内时间,无时区。 位串类型 bit 定长位串,例如: b'000101'。 布尔类型 boolean 存储在1个字节中,可以取值为 1、0 或 NULL。 文本类型 text 变长文本,无长度限制。
  • PostgreSQL数据库迁移时支持的数据类型 源端为PostgreSQL数据库,目的端为Hive、DWS、DLI时,支持的数据类型如下: 表5 PostgreSQL数据库作为源端时支持的数据类型 类别 类型 简要释义 Hive DWS DLI 字符 char 定长字符串,存储右空格填充到指定的长度。 CHAR CHAR 不支持(String) varchar 变长字符串,不会用空格将字段或变量填充至最大长度。 CARCHAR CARCHAR 不支持(String) 数值 smallint 拓展名 int2,存储在2个字节中,它允许的范围是从-32768到32767。 SMALLINT SMALLINT SMALLINT int 拓展名 int4,存储在4个字节中,它允许的范围是从-2147483648到2147483647。 INTEGER INT INT bigint 拓展名 int8,存储在8个字节中,允许范围为-9223372036854775808到9223372036854775807。 BIGINT BIGINT BIGINT decimal(p,s) 精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 DECIMAL(P,S) DECIMAL(P,S) DECIMAL(P,S) float 4字节或8字节存储。float(n):n取值在1-24内,精度有效位数为6 位数,长度4 个字节,是单精度,n取值在25-53内,精度有效位数为15 位数,长度8 字节,是双精度。 FLOAT/DOUBLE FLOAT/DOUBLE FLOAT/DOUBLE smallserial 序列数据类型,以smallint格式存储。 SMALLINT SMALLINT SMALLINT serial 序列数据类型,以int格式存储。 INTEGER INT INT bigserial 序列数据类型,以bigint格式存储。 BIGINT BIGINT BIGINT 日期时间 date 存储日期数据 DATE DATE DATE timestamp 存储日期和时间数据,无时区 TIMESTAMP TIMESTAMP 不支持(String) timestamptz 存储日期和时间数据,有时区 TIMESTAMP TIMESTAMPZ 不支持(String) time 只用于一日内时间,无时区 不支持(String) TIME 不支持(String) timez 只用于一日内时间,有时区 不支持(String) TIMEZ 不支持(String) interval 时间间隔 不支持(String) 不支持(String) 不支持(String) 位串类型 bit 定长位串,例如: b'000101' 不支持(String) 不支持(String) 不支持(String) varbit 可变长位串,例如: b'101' 不支持(String) 不支持(String) 不支持(String) 货币类型 money 存储在8个字节中,它允许的范围是从-922337203685477.5808到922337203685477.5807。 DOUBLE MONEY DECIMAL(P,S) 布尔类型 boolean 存储在1个字节中,可以取值为 1、0 或 NULL。 BOOLEAN BOOLEAN BOOLEAN 文本类型 text 变长文本,无长度限制。 不支持(String) 不支持(String) 不支持(String)
  • Oracle数据库迁移时支持的数据类型 源端为Oracle数据库,目的端为Hive、DWS时,支持的数据类型如下: 表3 Oracle数据库作为源端时支持的数据类型 类别 类型 简要释义 Hive DWS 字符串 char 定长字符串,会用空格填充来达到最大长度。 CHAR CHAR nchar 包含unicode格式数据的定长字符串。 CHAR CHAR varchar2 是VARCHAR的同义词。这是一个变长字符串,与CHAR类型不同,它不会用空格将字段或变量填充至最大长度。 VARCHAR VARCHAR nvarchar2 包含unicode格式数据的变长字符串。 VARCHAR VARCHAR 数值 number 能存储精度最多高达38位的数字 DECIMAL NUMERIC binary_float 2位单精度浮点数 FLOAT FLOAT8 binary_double 64位双精度浮点数 DOUBLE FLOAT8 long 能存储最多2GB的字符数据 不支持 不支持 日期时间 date 7字节的定宽日期/时间数据类型,其中包含7个属性:世纪、世纪中的哪一年、月份、月中的哪一天、小时、分钟、秒。 DATE TIMESTAMP timestamp 7字节或11字节的定宽日期/时间数据类型,它包含小数秒 TIMESTAMP TIMESTAMP timestamp with time zone 3字节的timestamp,提供了时区支持。 TIMESTAMP TIME WITH TIME ZONE timestamp with local time zone 7字节或11字节的定宽日期/时间数据类型,在数据的插入和读取时会发生时区转换 TIMESTAMP 不支持(TEXT) interval year to month 5字节的定宽数据类型,用于存储一个时段。 不支持 不支持(TEXT) interval day to second 11字节的定宽数据类型,用于存储一个时段。将时段存储为天/小时/分钟/秒数,还可以有9位小数秒。 不支持 不支持(TEXT) 多媒体(二进制) raw 一种变长二进制数据类型,采用这种数据类型存储的数据不会发生字符集转换。 不支持 不支持 long raw 能存储多达2GB的二进制信息 不支持 不支持 blob 能够存储最多4GB的数据 不支持 不支持 clob 在Oracle 10g及以后的版本中允许存储最多(4GB)×(数据库块大小)字节的数据。CLOB包含要进行字符集转换的信息。这种数据类型很适合存储纯文本信息。 String 不支持 nclob 这种类型能够存储最多4GB的数据。当字符集发生转换时,这种类型会受到影响。 不支持 不支持 bfile 可以在数据库列中存储一个oracle目录对象和一个文件名,我们可以通过它来读取这个文件。 不支持 不支持 其他类型 rowid 实际上是数据库表中行的地址,它有10字节长。 不支持 不支持 urowid 是一个通用的rowid,没有固定的rowid的表。 不支持 不支持
  • SQL Server数据库迁移时支持的数据类型 源端为SQL Server数据库,目的端为Hive、DWS、Oracle时,支持的数据类型如下: 表4 SQL Server数据库作为源端时支持的数据类型 类别 类型 简要释义 Hive DWS Oracle 字符串数据类型 char 定长字符串,会用空格填充来达到最大长度。 CHAR CHAR CHAR nchar 包含unicode格式数据的定长字符串。 CHAR CHAR CHAR varchar 可变长度的字符串是以长度为1到255之间字符数(高版本的MySQL超过255); 例如: VARCHAR(25);创建VARCHAR类型字段时,必须定义长度。 VARCHAR VARCHAR VARCHAR nvarchar 与varchar类似,存储可变长度Unicode字符数据。 VARCHAR VARCHAR VARCHAR 数值数据类型 int int存储在4个字节中,其中一个二进制位表示符号位,其它31个二进制位表示长度和大小,可以表示-2的31次方~2的31次方-1范围内的所有整数。 INT INTEGER INT bigint bigint存储在8个字节中,其中一个二进制位表示符号位,其它63个二进制位表示长度和大小,可以表示-2的63次方~2的63次方-1范围内的所有整数。 BIGINT BIGINT NUMBER smallint smallint类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 SMALLINT SMALLINT NUMBER tinyint tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数。 TINYINT TINYINT NUMBER real 可以存储正的或者负的十进制数值。 DOUBLE FLOAT4 NUMBER float 其中为用于存储float数值尾数的位数(以科学计数法表示),因此可以确定精度和存储大小。 FLOAT FLOAT8 binary_float decimal 带固定精度和小数位数的数值数据类型。 DECIMAL NUMERIC NUMBER numeric 用于存储零、正负定点数 DECIMAL NUMERIC NUMBER 日期时间数据类型 date 存储用字符串表示的日期数据。 DATE TIMESTAMP DATE time 以字符串形式记录一天的某个时间。 不支持(String) TIME 不支持 datetime 用于存储时间和日期数据。 TIMESTAMP TIMESTAMP 不支持 datetime2 datetime的扩展类型,其数据范围更大,默认的最小精度最高,并具有可选的用户定义的精度。 TIMESTAMP TIMESTAMP 不支持 smalldatetime smalldatetime类型与datetime类型相似,只是其存储范围是从1900年1月1日到2079年6月6日,当日期时间精度较小时,可以使用smalldatetime,该类型数据占用4个字节的存储空间。 TIMESTAMP TIMESTAMP 不支持 datetimeoffset 用于定义一个采用24小时制与日期相组合并可识别时区的时间。 不支持(String) TIMESTAMP 不支持 多媒体数据类型 (二进制) text 用于存储文本数据。 不支持(String) 不支持(String) 不支持 netxt 与text类型作用相同,为长度可变的非Unicode数据。 不支持(String) 不支持(String) 不支持 image 长度可变的二进制数据,用于存储照片、目录图片或者图画。 不支持(String) 不支持(String) 不支持 binary 长度为n个字节的固定长度二进制数据,其中n是从1~8000的值。 不支持(String) 不支持(String) 不支持 varbinary 可变长度二进制数据。 不支持(String) 不支持(String) 不支持 货币数据类型 money 用于存储货币值 不支持(String) 不支持(String) 不支持 smallmoney 与money类型相似,输入数据时在前面加上一个货币符号,如人民币为¥或其它定义的货币符号。 不支持(String) 不支持(String) 不支持 位数据类型 bit 位数据类型,只取0或1为值,长度1字节。bit值经常当作逻辑值用于判断true(1)或false(0),输入非0值时系统将其替换为1。 不支持 不支持 不支持 其他数据类型 rowversion 每个数据都有一个计数器,当对数据库中包含rowversion列的表执行插入或者更新操作时,该计数器数值就会增加。 不支持 不支持 不支持 uniqueidentifier 16字节的GUID(Globally Unique Identifier,全球唯一标识符),是Sql Server根据网络适配器地址和主机CPU时钟产生的唯一号码,其中,每个为都是0~9或a~f范围内的十六进制数字。 不支持 不支持 不支持 cursor 游标数据类型。 不支持 不支持 不支持 sql_variant 用于存储除文本,图形数据和timestamp数据外的其它任何合法的Sql Server数据,可以方便Sql Server的开发工作。 不支持 不支持 不支持 table 用于存储对表或视图处理后的结果集。 不支持 不支持 不支持 xml 存储xml数据的数据类型。可以在列中或者xml类型的变量中存储xml实例。存储的xml数据类型表示实例大小不能超过2GB。 不支持 不支持 不支持
  • MySQL数据库迁移时支持的数据类型 源端为MySQL数据库,目的端为Hive、DWS时,支持的数据类型如下: 表2 开源MySQL数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 Hive DWS 字符串 CHAR(M) 固定长度的字符串是以长度为1到255之间个字符长度(例如:CHAR(5)),存储右空格填充到指定的长度。 限定长度不是必需的,它会默认为1。 ‘a’或‘aaaaa’ CHAR CHAR VARCHAR(M) 可变长度的字符串是以长度为1到255之间字符数(高版本的MySQL超过255); 例如: VARCHAR(25). 创建VARCHAR类型字段时,必须定义长度。 ‘a’或‘aaaaa’ VARCHAR VARCHAR 数值 DECIMAL(M,D) 非压缩浮点数不能是无符号的。在解包小数,每个小数对应于一个字节。 定义显示长度(M)和小数(D)的数量是必需的。 NUMERIC是DECIMAL的同义词。 52.36 DECIMAL D为0时对应BIGINT D不为0时对应NUMBERIC NUMBERIC 与 DECIMAL 相同 - DECIMAL NUMBERIC INTEGER 一个正常大小的整数,可以带符号。如果是有符号的,它允许的范围是从-2147483648到2147483647。 如果是无符号,允许的范围是从0到4294967295。 可以指定多达11位的宽度。 5236 INT INTEGER INTEGER UNSIGNED INTEGER 的无符号形式 - BIGINT INTEGER INT 与INTEGER相同 5236 INT INTEGER INT UNSIGNED 与INTEGER UNSIGNED相同 - BIGINT INTEGER BIGINT 一个大的整数,可以带符号。如果有符号,允许范围为-9223372036854775808到9223372036854775807。如果无符号,允许的范围是从0到18446744073709551615. 可以指定最多20位的宽度。 5236 BIGINT BIGINT BIGINT UNSIGNED BIGINT的无符号形式 - BIGINT BIGINT MEDIUMINT 一个中等大小的整数,可以带符号。如果有符号,允许范围为-8388608至8388607。 如果无符号,允许的范围是从0到16777215,可以指定最多9位的宽度。 -128、127 INT INTEGER MEDIUMINT UNSIGNED MEDIUMINT的无符号形式 - BIGINT INTEGER TINYINT 一个非常小的整数,可以带符号。如果是有符号,它允许的范围是从-128到127。 如果是无符号,允许的范围是从0到255,可以指定多达4位数的宽度。 100 TINYINT SMALLINT TINYINT UNSIGNED TINYINT的无符号形式 - TINYINT SMALLINT BOOL MySQL的bool实际上就是tinyint(1) -128、127 SMALLINT BYTEA SMALLINT 一个小的整数,可以带符号。如果有符号,允许范围为-32768至32767。 如果无符号,允许的范围是从0到65535,可以指定最多5位的宽度。 9999 SMALLINT SMALLINT SMALLINT UNSIGNED SMALLINT的无符号形式 - INT SMALLINT REAL 同DOUBLE - DOUBLE - FLOAT(M,D) 不能使用无符号的浮点数字。可以定义显示长度(M)和小数位数(D)。这不是必需的,并且默认为10,2。其中2是小数的位数,10是数字(包括小数)的总数。小数精度可以到24个浮点。 52.36 FLOAT FLOAT4 DOUBLE(M,D) 不能使用无符号的双精度浮点数。可以定义显示长度(M)和小数位数(D)。 这不是必需的, 默认为16,4,其中4是小数的位数。小数精度可以达到53位的DOUBLE。 REAL是DOUBLE同义词。 52.36 DOUBLE FLOAT8 DOUBLE PRECISION 与DOUBLE相似 52.3 DOUBLE FLOAT8 位 BIT(M) 存储位值的BIT类型。BIT(M)可以存储多达M位的值,M的范围在1到64之间。 B'1111100' B'1100' TINYINT BYTEA 日期时间 DATE 以YYYY-MM-DD格式的日期,在1000-01-01和9999-12-31之间。 例如,1973年12月30日将被存储为1973-12-30。 1999-10-01 DATE TIMESTAMP TIME 用于存储时、分、秒信息 '09:10:21'或'9:10:21' 不支持(String) TIME DATETIME 日期和时间组合以YYYY-MM-DD HH:MM:SS格式,在1000-01-01 00:00:00 到9999-12-31 23:59:59之间。例如,1973年12月30日下午3:30,会被存储为1973-12-30 15:30:00。 '1973-12-30 15:30:00' TIMESTAMP TIMESTAMP TIMESTAMP 1970年1月1日午夜之间的时间戳,到2037的某个时候。这看起来像前面的DATETIME格式,无需只是数字之间的连字符; 1973年12月30日下午3点30分将被存储为19731230153000(YYYYMMDDHHMMSS)。 19731230153000 TIMESTAMP TIMESTAMP YEAR(M) 以2位或4位数字格式来存储年份。如果长度指定为2(例如YEAR(2)),年份就可以为1970至2069(70〜69)。如果长度指定为4,年份范围是1901-2155,默认长度为4。 2000 不支持(String) 不支持 多媒体(二进制) BINARY(M) 字节数为M,允许长度为0-M的变长二进制字符串,字节数为值得长度加1 0x2A3B4058 (二进制数据) 不支持 BYTEA VARBINARY(M) 字节数为M,允许长度为0-M的定长二进制字符串 0x2A3B4059 (二进制数据) 不支持 BYTEA TEXT 字段的最大长度是65535个字符。 TEXT是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。 0x5236(二进制数据) 不支持 不支持 TINYTEXT 0-255字节短文本二进制字符串 - - 不支持 MEDIUMTEXT 0-167772154字节中等长度文本二进制字符串 - - 不支持 LONGTEXT 0-4294967295字节极大长度文本二进制字符串 - - 不支持 BLOB 字段的最大长度是65535个字符。 BLOB是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。BLOB大小写敏感。 0x5236(二进制数据) 不支持 BYTEA TINYBLOB 0-255字节短文本二进制字符串 - - BYTEA MEDIUMBLOB 0-167772154字节中等长度文本二进制字符串 - - BYTEA LONGBLOB 0-4294967295字节极大长度文本二进制字符串 0x5236(二进制数据) 不支持 BYTEA 特殊类型 SET SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。 - - 不支持 JSON - - 不支持 不支持(TEXT) ENUM 当定义一个ENUM,要创建它的值的列表,这些是必须用于选择的项(也可以是NULL)。例如,如果想要字段包含“A”或“B”或“C”,那么可以定义为ENUM为 ENUM(“A”,“B”,“C”)也只有这些值(或NULL)才能用来填充这个字段。 - 不支持 不支持
  • 支持 云审计 的关键操作 云审计服务(Cloud Trace Service,简称 CTS )为用户提供了云账户下资源的操作记录,可以帮您记录相关的操作事件,便于日后的查询、审计和回溯。 表1 支持云审计的关键操作列表 操作名称 资源类型 事件名称 创建集群 cluster createCluster 删除集群 cluster deleteCluster 修改集群配置 cluster modifyCluster 开机 cluster startCluster 重启 cluster restartCluster 导入作业 cluster clusterImportJob 绑定弹性IP cluster bindEip 解绑弹性IP cluster unbindEip 创建连接 link createLink 修改连接 link modifyLink 测试连接 link verifyLink 删除连接 link deleteLink 创建任务 job createJob 修改任务 job modifyJob 删除任务 job deleteJob 启动任务 job startJob 停止任务 job stopJob 父主题: 查看审计日志
  • MD5校验文件一致性 CDM数据迁移以抽取-写入模式进行,CDM首先从源端抽取数据,然后将数据写入到目的端。在迁移文件到OBS时,迁移模式如图1所示。 图1 迁移文件到OBS 在这个过程中,CDM支持使用MD5检验文件一致性。 抽取时 该功能支持源端为OBS、HDFS、FTP、SFTP、HTTP。可校验CDM抽取的文件,是否与源文件一致。 该功能由源端作业参数“MD5文件名后缀”控制(“文件格式”为“二进制格式”时生效),配置为源端文件系统中的MD5文件名后缀。 当源端数据文件同一目录下有对应后缀的保存md5值的文件,例如build.sh和build.sh.md5在同一目录下。若配置了“MD5文件名后缀”,则只迁移有MD5值的文件至目的端,没有MD5值或者MD5不匹配的数据文件将迁移失败,MD5文件自身不被迁移。 若未配置“MD5文件名后缀”,则迁移所有文件。 写入时 该功能目前只支持目的端为OBS。可校验写入OBS的文件,是否与CDM抽取的文件一致。 该功能由目的端作业参数“校验MD5值”控制,读取文件后写入OBS时,通过HTTP Header将MD5值提供给OBS做写入校验,并将校验结果写入OBS桶(该桶可以不是存储迁移文件的桶)。如果源端没有MD5文件则不校验。 迁移文件到文件系统时,目前只支持校验CDM抽取的文件是否与源文件一致(即只校验抽取的数据)。 迁移文件到OBS时,支持抽取和写入文件时都校验。 如果选择使用MD5校验,则无法使用KMS加密。 父主题: 关键操作指导
  • 引擎版本:pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64 镜像地址:swr.{region}.myhuaweicloud.com/aip/pytorch_1_8:train-pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64-roma-20220309171256-40adcc1 镜像构建时间:20220309171256 (yyyy-mm-dd-hh-mm-ss) 镜像系统版本:Ubuntu 18.04.4 LTS cuda:10.2.89 cudnn:7.6.5.32 Python解释器路径及版本:/home/ma-user/anaconda3/envs/PyTorch-1.8/bin/python, python 3.7.10 三方包安装路径:/home/ma-user/anaconda3/envs/PyTorch-1.8/lib/python3.7/site-packages 部分三方包版本信息列表: Cython 0.27.3dask 2022.2.0easydict 1.9enum34 1.1.10torch 1.8.0Flask 1.1.1grpcio 1.44.0gunicorn 20.1.0idna 3.3torchtext 0.5.0imageio 2.16.0imgaug 0.4.0lxml 4.8.0matplotlib 3.5.1torchvision 0.9.0mmcv 1.2.7numba 0.47.0numpy 1.21.5opencv-python 4.1.2.30toml 0.10.2pandas 1.1.5Pillow 9.0.1pip 21.2.2protobuf 3.19.4scikit-learn 0.22.1psutil 5.8.0PyYAML 6.0requests 2.27.1scikit-image 0.19.2... 历史版本:无
  • 常用Conda命令 全部Conda命令建议参考Conda官方文档。这里仅对常用命令做简要说明。 表1 常用Conda命令 命令说明 命令 获取帮助 conda --helpconda update --help #获取某一命令的帮助,如update 查看conda版本 conda -V 更新conda conda update conda #更新 condaconda update anaconda #更新 anaconda 环境管理 conda env list #显示所有的虚拟环境conda info -e #显示所有的虚拟环境conda create -n myenv python=3.7 #创建一个名为myenv环境,指定Python版本是3.7conda activate myenv #激活名为myenv的环境conda deactivate #关闭当前环境conda remove -n myenv --all #删除一个名为myenv的环境conda create -n newname --clone oldname #克隆oldname环境为newname环境 package管理 conda list #查看当前环境下已安装的packageconda list -n myenv #指定myenv环境下安装的packageconda search numpy #查找名为numpy的package的所有信息conda search numpy=1.12.0 --info #查看版本为1.12.0的numpy的信息conda install numpy pandas #安装numpy和pandas两个package,此命令可同时安装一个或多个包conda install numpy=1.12.0 #安装指定版本的numpy#install,update及remove命令使用-n指定环境,install及update命令使用-c指定源地址conda install -n myenv numpy #在myenv的环境中安装名字为numpy的packageconda install -c https://conda.anaconda.org/anaconda numpy #使用源 https://conda.anaconda.org/anaconda 安装numpyconda update numpy pandas #更新numpy和pandas两个package,此命令可同时更新一个或多个包conda remove numpy pandas #卸载numpy和pandas两个package,此命令可同时卸载一个或多个包conda update –-all #更新当前环境下所有的package 清理conda conda clean -p # 删除无用的包conda clean -t # 删除压缩包conda clean -y --all # 删除所有的安装包及cache
  • 预置镜像功能 ModelArts开发环境提供的预置镜像主要包含: 常用预置包,基于标准的Conda环境,预置了常用的AI引擎,常用的数据分析软件包,例如Pandas, Numpy等,常用的工具软件,例如cuda,cudnn等,满足AI开发常用需求。 预置Conda环境:每个预置镜像都会创建一个相对应的Conda环境和一个基础Conda环境python(不包含任何AI引擎),如预置MindSpore所对应的Conda环境如下。 用户可以根据是否使用AI引擎Mindspore参与功能调试,选择不同的Conda环境。 Notebook:是一款Web应用,用户能够在界面编写代码,并且将代码、数学方程和可视化内容组合到一个文档中。 JupyterLab插件:插件包括规格切换,分享案例到AI Gallery进行交流,停止实例(实例停止后CPU、Memory不再计费)等,提升用户体验。 支持SSH远程连接功能:通过SSH连接启动实例,在本地调试就可以操作实例,方便调试。 预置镜像支持功能开发:基于ModelArts预置镜像进行依赖安装配置后,保存为 自定义镜像 ,能直接在ModelArts用于训练作业。 ModelArts提供的预置镜像是以ma-user启动的,用户进入实例后,工作目录默认是“/home/ma-user/work”。 创建实例,持久化存储挂载存放路径为“/home/ma-user/work”目录,存放在work目录的内容,在实例停止,重新启动后是依然保留,其他目录下的内容不会保留,使用开发环境时建议将需要持久化的数据放在“/home/ma-user/work”目录。 Notebook中提供的常见预置镜像列表和镜像详情介绍,请参见预置镜像列表。
  • 预置镜像使用场景 ModelArts开发环境给用户提供了一组预置镜像,用户可以直接使用预置镜像创建Notebook实例,在实例中进行依赖安装与配置后,保存为自定义镜像,可直接用于ModelArts训练,而不需要做适配。 ModelArts开发环境提供的预置镜像版本是依据用户反馈和版本稳定性决定的。当用户的功能开发基于ModelArts提供的版本能够满足的时候,比如用户开发基于Minspore1.X,建议用户使用预置镜像,这些镜像经过充分的功能验证,并且已经预置了很多常用的安装包,用户无需花费过多的时间来配置环境即可使用。
  • Step5 在ModelArts上创建Notebook并调试 将上传到SWR上的镜像注册到ModelArts的镜像管理中。 登录ModelArts管理控制台,在左侧导航栏中选择“镜像管理 ”,单击“注册镜像”,根据界面提示注册镜像。注册后的镜像可以用于创建Notebook。 在Notebook中使用自定义镜像创建Notebook并调试,调试成功后,保存镜像。 在Notebook中使用自定义镜像创建Notebook操作请参见基于自定义镜像创建Notebook实例。 保存Notebook镜像操作请参见如何保存Notebook镜像环境。 已有的镜像调试成功后,再使用ModelArts训练模块训练作业。 父主题: 示例:从 0 到 1 制作自定义镜像并用于训练(MindSpore+Ascend)
  • 使用自定义镜像创建训练作业(Ascend) 如果Ascend-Powered-Engine预置镜像无法满足您的需求,您可以构建一个自定义镜像,通过自定义镜像创建训练作业。Ascend自定义镜像训练作业创建流程与 CPU/GPU 一致,但是需要额外关注: Ascend HCCL RANK_TABLE_FILE 文件说明 Ascend HCCL RANK_TABLE_FILE 文件提供Ascend分布式训练作业的集群信息,用于Ascend芯片分布式通信,可以被HCCL集合通信库解析。该文件格式有两个版本,分别为模板一、模板二。当前ModelArts提供的是模板二格式。完整的 Ascend HCCL RANK_TABLE_FILE 文件内容请参见昇腾AI处理器资源配置文件。 ModelArts训练环境的Ascend HCCL RANK_TABLE_FILE 文件名为jobstart_hccl.json。获取方式参考表1 。 ModelArts训练环境 jobstart_hccl.json文件内容(模板二)示例 {"group_count": "1","group_list": [{"device_count": "1","group_name": "job-trainjob","instance_count": "1","instance_list": [{"devices": [{"device_id": "4","device_ip": "192.1.10.254"}],"pod_name": "jobxxxxxxxx-job-trainjob-0","server_id": "192.168.0.25"}]}],"status": "completed"} jobstart_hccl.json文件中的status字段的值在训练脚本启动时,并不一定为completed状态。因此需要训练脚本等待status字段的值等于completed之后,再去读取文件的剩余内容。 如果算法开发者期望使用模板一格式的jobstart_hccl.json文件,可以使用训练脚本,在等待status字段的值等于completed之后,将模板二格式 jobstart_hccl.json文件转换为模板一格式的 jobstart_hccl.json 文件。 转换后的jobstart_hccl.json 文件格式(模板一)示例 {"server_count": "1","server_list": [{"device": [{"device_id": "4","device_ip": "192.1.10.254","rank_id": "0"}],"server_id": "192.168.0.25"}],"status": "completed","version": "1.0"} 转换功能的实现,可参考示例:从 0 到 1 制作自定义镜像并用于训练(MindSpore+Ascend)中所述的Ascend训练脚本的启动脚本。 RANK_TABLE_FILE环境变量 表1 RANK_TABLE_FILE环境变量说明 环境变量 说明 RANK_TABLE_FILE 该环境变量指示Ascend HCCL RANK_TABLE_FILE文件所在目录,值为/user/config。 算法开发者可通过 “${RANK_TABLE_FILE}/jobstart_hccl.json”,路径获取该文件。 父主题: 使用自定义镜像训练模型(新版训练)
  • 解决方案 需要减少容器大小。Notebook容器的大小分为两部分:镜像大小和容器中新安装文件的大小。因此有两种方法来解决该问题: 减少容器中新安装文件的大小 删除用户在Notebook新安装的内容,比如用户在Notebook中下载了很多文件,可以将这些文件删除。这种方法仅适用于除/home/ma-user/work和/cache目录外的其他目录,因为持久化存储的部分(home/ma-user/work目录的内容)不会保存在最终产生的容器镜像中、“/cache”目录下存储的是临时文件,不占用容器空间。 如果没有文件可以删除,或者不清楚哪些可以删除,那么可以使用相同的镜像重新创建一个Notebook,使用新建的Notebook时,注意减少软件包的安装或文件的下载等操作,也可以减少容器大小; 减少镜像文件的大小 如果无法确认哪些包或文件可以不安装,那么可以选择一个较小的镜像来重建Notebook,然后在其中再安装需要的软件或文件。目前公共镜像中占用空间最小的是mindspore1.7.0-py3.7-ubuntu18.04。
  • 引擎版本三:mindspore_1.7.0-cuda_11.1-py_3.7-ubuntu_18.04-x86_64 镜像地址:swr.{region_id}.myhuaweicloud.com/atelier/mindspore_1_7_0:mindspore_1.7.0-cuda_11.1-py_3.7-ubuntu_18.04-x86_64-20220702120711-8590b76 镜像构建时间:20220702120711(yyyy-mm-dd-hh-mm-ss) 镜像系统版本:Ubuntu 18.04.4 LTS cuda:11.1.1 cudnn:8.0.5.39 Python解释器路径及版本:/home/ma-user/anaconda3/envs/MindSpore/bin/python, python 3.7.10 三方包安装路径:/home/ma-user/anaconda3/envs/MindSpore/lib/python3.7/site-packages 部分pip安装包列表: cycler 0.11.0easydict 1.9Flask 2.0.1grpcio 1.47.0gunicorn 20.1.0ipykernel 6.7.0Jinja2 3.0.1lxml 4.9.0matplotlib 3.5.1mindinsight 1.7.0mindspore 1.7.0mindvision 0.1.0moxing-framework 2.1.0.5d9c87c8numpy 1.17.0opencv-contrib-python-headless 4.6.0.66opencv-python-headless 4.6.0.66pandas 1.1.5Pillow 9.1.1pip 22.1.2protobuf 3.20.1psutil 5.8.0PyYAML 5.1requests 2.27.1scikit-learn 0.22.1scipy 1.5.2setuptools 62.6.0sklearn 0.0tensorboardX 2.0threadpoolctl 3.1.0tomli 2.0.1tornado 6.1tqdm 4.64.0traitlets 5.3.0treelib 1.6.1urllib3 1.26.9wheel 0.37.1zipp 3.8.0... 部分apt安装包列表: aptca-certificatescmakecudacurlethtoolfdiskffmpegg++gccgitgpggraphvizlibsm6libxext6libopencv-devlibxrender-devlibatlas3-baselibnuma-devlibcap-devlibssl-devliblz-devlibbz2-devliblzma-devlibboost-graph-devlibsndfile1libcurl4-openssl-devlibopenblas-baseliblapack3libopenblas-devlibprotobuf-devlibleveldb-devlibsnappy-devlibhdf5-serial-devliblapacke-devlibgflags-devlibgoogle-glog-devliblmdb-devlibatlas-base-devlibrdmacm1libcap2-binlibpq-devmysql-commonnet-toolsnginxopenslide-toolsopenssh-clientopenssh-serveropenssh-sftp-serveropensslprotobuf-compilerredis-serverredis-toolsrpmtartofrodosunzipvimwgetzipzlib1g-dev...
  • 引擎版本二:mindspore_1.7.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64 镜像地址:swr.{region_id}.myhuaweicloud.com/atelier/mindspore_1_7_0:mindspore_1.7.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64-20220702120711-8590b76 镜像构建时间:20220702120711(yyyy-mm-dd-hh-mm-ss) 镜像系统版本:Ubuntu 18.04.4 LTS cuda:10.1.243 cudnn:7.6.5.32 Python解释器路径及版本:/home/ma-user/anaconda3/envs/MindSpore/bin/python, python 3.7.10 三方包安装路径:/home/ma-user/anaconda3/envs/MindSpore/lib/python3.7/site-packages 部分pip安装包列表: cycler 0.11.0easydict 1.9Flask 2.0.1grpcio 1.47.0gunicorn 20.1.0ipykernel 6.7.0Jinja2 3.0.1lxml 4.9.0matplotlib 3.5.1mindinsight 1.7.0mindspore 1.7.0mindvision 0.1.0moxing-framework 2.1.0.5d9c87c8numpy 1.17.0opencv-contrib-python-headless 4.6.0.66opencv-python-headless 4.6.0.66pandas 1.1.5Pillow 9.1.1pip 22.1.2protobuf 3.20.1psutil 5.8.0PyYAML 5.1requests 2.27.1scikit-learn 0.22.1scipy 1.5.2setuptools 62.6.0sklearn 0.0tensorboardX 2.0threadpoolctl 3.1.0tomli 2.0.1tornado 6.1tqdm 4.64.0traitlets 5.3.0treelib 1.6.1urllib3 1.26.9wheel 0.37.1zipp 3.8.0...
共100000条