华为云用户手册

  • 语法格式 1 2 3 4 CREATE SEQUENCE [ IF NOT EXISTS ] name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE | NOMINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE | NOMAXVALUE] [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE | NOCYCLE ] [ OWNED BY { table_name.column_name | NONE } ];
  • 参数说明 表1 CREATE SEQUENCE参数说明 参数 描述 取值范围 IF NOT EXISTS 指定IF NOT EXISTS时,若不存在同名SEQUENCE,则可以成功创建SEQUENCE。若已存在同名SEQUENCE,创建时不会报错,仅会提示该SEQUENCE已存在,且不执行任何操作。 该参数仅9.1.0及以上版本支持。 - name 将要创建的序列名称。 字符串,需符合标识符命名规范。 increment 指定序列的步长。正值将生成一个递增的序列,负值将生成一个递减的序列。 默认值为1。 - MINVALUE minvalue | NO MINVALUE| NOMINVALUE 确定序列可以生成的最小值。如果没有指定minvalue或者指定了NO MINVALUE,则递增序列的缺省值为1,递减序列的缺省值为-263-1。 NOMINVALUE等价于NO MINVALUE。 - MAXVALUE maxvalue | NO MAXVALUE| NOMAXVALUE 确定序列可以生成的最大值。如果没有声明maxvalue或者声明了NO MAXVALUE,则递增序列的缺省值为263-1,递减序列的缺省值为-1。 NOMAXVALUE等价于NO MAXVALUE。 - start 指定序列的起始值。 默认值:对于递增序列为minvalue,递减序列为maxvalue。 - cache 指定数据库预先缓存(预分配)多少个序列号到内存中,从而加快访问速度。一个缓存周期内,CN不再向GTM索取序列号,而是使用本地预先申请的序列号。 9.1.0.100及以上集群版本中缺省值由GUC参数default_sequence_cache控制。 新安装的9.1.0.100及以上集群版本中,默认值为20。 从低版本升级到9.1.0.100及以上集群版本,默认值为1。表示一次只能生成一个值,即没有缓存。 不建议同时定义cache和maxvalue或minvalue。因为定义cache后不能保证序列的连续性,可能会产生空洞,造成序列号段浪费。 建议cache值不要设置过大,否则会出现缓存序列号时(每个cache周期的第一个nextval)耗时过长的情况;同时建议cache值小于100000000。实际使用时应根据业务设置合理的cache值,既能保证快速访问,又不会浪费序列号。 CYCLE | NOCYCLE 当序列达到maxvalue或者minvalue时,允许序列可循环重新开始。 默认值为NO CYCLE,表示序列达到极大或极小值后将无法生成新值。NOCYCLE的作用等价于NO CYCLE。 如果指定序列为CYCLE,则不能保证序列的唯一性。 如果指定了NO CYCLE,则在序列达到其最大值后任何对nextval的调用都将返回错误。 - OWNED BY 将序列与特定表的指定字段相关联。这样,如果该字段或其所在表被删除,该序列也将被自动删除。关联的表和序列的所有者必须是同一个用户,并且在同一个模式中。 缺省值为OWNED BY NONE,表示不存在这种关联。 通过指定OWNED BY,仅建立了表的对应列和SEQUENCE之间关联关系,并不会在插入数据时在该列上产生自增序列。 通过指定OWNED BY创建的SEQUENCE不建议用于其他表,如果希望多个表共享SEQUENCE,该SEQUENCE不应该从属于特定表。
  • 注意事项 创建序列的用户为该序列的所有者。 如果指定了模式名称,则会在指定模式中创建序列,否则会在当前模式中创建。序列名必须和同一个模式中的其他序列、表、索引、视图或外表的名字不同。 创建序列后,在表中使用序列的nextval()函数和generate_series(1,N)函数对表插入数据,请保证nextval的可调用次数大于等于N+1次,否则会因为generate_series()函数会调用N+1次而导致报错。 不支持在template1数据库中创建SEQUENCE。
  • 参数说明 表1 CREATE SUBSCRIPTION参数说明 参数 描述 取值范围 name 新订阅的名称。 取值范围:字符串,要符合标识符的命名规范。参见标识符命名规范。 conninfo 连接发布端的字符串。 如host=1.1.1.1,2.2.2.2 port=10000,20000 dbname=postgres user=repusr1 password=password_123。 host 发布端IP地址,可以同时指定发布端主机和备机的IP地址,如果同时指定了多个IP,以英文逗号分隔。 port 发布端端口,此处的端口不能使用主端口,而应该使用主端口+1端口,否则会与线程池冲突。可以同时指定发布端主机和备机的端口,如果同时指定了多个端口,以英文逗号分隔。 注意: host和port的数量要一致,并且要一一对应。 dbname 发布所在的数据库。 user和password 用于连接发布端且具有系统管理员权限(SYSADMIN)或者运维管理员权限(OPRADMIN)的用户名和密码。 publication_name 要订阅的发布端的发布名称,一个订阅可以对应多个发布。 - WITH 该子句指定订阅的可选参数,支持的参数如右列所示。 enabled 指定订阅是否应该主动复制,或者是否应该只是设置,但尚未启动。 取值范围:true,false。 默认值:true。 create_slot 指定该命令是否要在发布者上创建复制槽。 取值范围:true,false。 默认值:true。 slot_name 要使用的复制槽的名称。 取值范围:字符串。 默认值:默认使用订阅名称作为复制槽的名称。
  • SDK列表 在开始使用之前,请确保您安装的是最新版本的SDK。使用过时的版本可能会导致兼容性问题或无法使用最新功能。您可以在 SDK中心 查询版本信息。 表1提供了 DataArts Studio 服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 如果无法正常打开GitHub仓库,请检查您所使用的网络是否可以正常访问公网。由于GitHub的服务器部署在国外,国内用户访问时容易遇到无法打开的情况,请切换网络后再尝试打开。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导
  • 调用API示例 在工程中引入sdk(signer.go)。 import "apig-sdk/go/core" 生成一个新的Signer,输入AppKey和AppSecret。 // 认证用的ak和sk编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量SDK_AK和SDK_SK。 ak = os.Getenv("SDK_AK"); sk = os.Getenv("SDK_SK"); s := core.Signer{ Key: ak, Secret: sk, } 生成一个新的Request,指定 域名 、方法名、请求url、query和body。 r, _ := http.NewRequest("POST", "http:/c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com/api?a=1&b=2", ioutil.NopCloser(bytes.NewBuffer([]byte("foo=bar")))) 给请求添加header头,内容为具体参数数据。如有需要,添加需要签名的其他头域。 r.Header.Add("x-stage", "RELEASE") r.Header.Add("name","value") 进行签名,执行此函数会在请求中添加用于签名的X-Sdk-Date头和Authorization头。然后为请求添加x-Authorization头,值与Authorization头相同。 s.Sign(r) authorization := r.Header.Get("Authorization") r.Header.Add("x-Authorization", authorization) 访问API,查看访问结果。 resp, err := http.DefaultClient.Do(r) body, err := ioutil.ReadAll(resp.Body)
  • 准备环境 已获取API的域名、请求url、请求方法、AppKey和AppSecret等信息,具体参见认证前准备。 获取并安装Nodejs安装包,如果未安装,请至Nodejs官方网站下载。 Nodejs安装后,在命令行中,用npm安装“moment”和“moment-timezone”模块。 npm install moment --save npm install moment-timezone --save 获取并安装IntelliJ IDEA,如果未安装,请至IntelliJ IDEA官方网站下载。 已在IntelliJ IDEA中安装NodeJS插件,如果未安装,请按照图1所示安装。 图1 安装NodeJS插件
  • 调用API(Node.js)示例 在工程中引入signer.js。 1 2 var signer = require('./signer') var http = require('http') 生成一个新的Signer,填入AppKey和AppSecret。 1 2 3 4 5 6 7 8 // 认证用的ak和sk编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量SDK_AK和SDK_SK。 var ak = process.env.SDK_AK; var sk = process.env.SDK_SK; var sig = new signer.Signer(); sig.Key = ak; sig.Secret = sk; 生成一个Request对象,指定方法名、请求uri和body。 1 2 var r = new signer.HttpRequest("POST", "c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com/app1?a=1"); r.body = '{"a":1}' 给请求添加header头,内容为具体参数数据。如有需要,添加需要签名的其他头域。 1 r.headers = { "x-stage":"RELEASE", "name":"value"} 进行签名,执行此函数会生成请求参数,用于创建http(s)请求,请求参数中添加了用于签名的X-Sdk-Date头和Authorization头。然后为请求参数添加x-Authorization头,值与Authorization头相同。 1 2 var opt = sig.Sign(r) opt.headers["x-Authorization"] = opt.headers["Authorization"] 访问API,查看访问结果。如果使用https访问,则将“http.request”改为“https.request”。 1 2 3 4 5 6 7 8 9 10 11 var req=http.request(opt, function(res){ console.log(res.statusCode) res.on("data", function(chunk){ console.log(chunk.toString()) }) }) req.on("error",function(err){ console.log(err.message) }) req.write(r.body) req.end()
  • 调用API示例 使用JavaScript SDK生成curl命令。 获取“ApiGateway-javascript-sdk.zip”压缩包并解压。在浏览器中打开demo.html,页面如下图所示。 填入Key、Secret、方法名、请求协议、域名和url(认证用的ak和sk编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全)。本示例从前端输入,仅用于演示,例如: 1 2 3 4 Key=4f5f626b-073f-402f-a1e0-e52171c6100c Secret=****** Method=POST Url=https://{apig-endpoint} 填入json格式的Query和Headers,填入Body。其中所访问API的ID为必填项,需要填入具体的ID信息,以参数"x-api-id"填入Headers中。 单击“Send request”,生成curl命令。 $ curl -X POST "https://{apig-endpoint}/" -H "X-Sdk-Date: 20180530T115847Z" -H "Authorization: SDK-HMAC-SHA256 Access=071fe245-9cf6-4d75-822d-c29945a1e06a, SignedHeaders=host;x-sdk-date, Signature=9e5314bd156d517******dd3e5765fdde4" -d "" 为命令添加x-Authorization头,值与Authorization头相同。将curl命令复制到命令行,访问API。 $ curl -X POST "https://{apig-endpoint}/" -H "X-Sdk-Date: 20180530T115847Z" -H "Authorization: SDK-HMAC-SHA256 Access=071fe245-9cf6-4d75-822d-c29945a1e06a, SignedHeaders=host;x-sdk-date, Signature=9e5314bd156d517******dd3e5765fdde4" -H "X-Authorization: SDK-HMAC-SHA256 Access=071fe245-9cf6-4d75-822d-c29945a1e06a, SignedHeaders=host;x-sdk-date, Signature=9e5314bd156d517******dd3e5765fdde4" -d "" Congratulations, sdk demo is running
  • 调用API示例 在Android工程中的“app/libs”目录下,加入SDK所需jar包。其中jar包必须包括: java-sdk-core-x.x.x.jar commons-logging-1.2.jar joda-time-2.9.9.jar 在“build.gradle”文件中加入okhttp库的依赖。 在“build.gradle”文件中的“dependencies”下加入“implementation 'com.squareup.okhttp3:okhttp:3.11.0'”。 1 2 3 4 5 dependencies { ... ... implementation 'com.squareup.okhttp3:okhttp:3.11.0' } 创建request,输入AppKey和AppSecret,并指定域名、方法名、请求uri和body。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Request request = new Request(); try { // 认证用的ak和sk编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量SDK_AK和SDK_SK。 String ak = System.getenv("SDK_AK"); String sk = System.getenv("SDK_SK"); request.setKey(ak); request.setSecret(sk); request.setMethod("POST"); request.setUrl("https://c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com/app1"); request.addQueryStringParam("name", "value"); request.addHeader("Content-Type", "text/plain"); request.addHeader("name", "value"); request.setBody("demo"); } catch (Exception e) { e.printStackTrace(); return; } 对请求进行签名,并为请求添加x-Authorization头,值与Authorization头相同。然后生成okhttp3.Request对象来访问API。 1 2 3 4 5 okhttp3.Request signedRequest = Client.signOkhttp(request); String authorization = signedRequest.header("Authorization"); signedRequest = signedRequest.newBuilder().addHeader("x-Authorization",authorization).build(); OkHttpClient client = new OkHttpClient.Builder().build(); Response response = client.newCall(signedRequest).execute();
  • 准备环境 已获取API的域名、请求url、请求方法、AppKey和AppSecret等信息,具体参见认证前准备。 获取并安装IntelliJ IDEA,如果未安装,请至IntelliJ IDEA官方网站下载。 获取并安装PHP安装包,如果未安装,请至PHP官方下载页面下载。 将PHP安装目录中的“php.ini-production”文件复制到“C:\windows”,改名为“php.ini”,并在文件中增加如下内容。 1 2 3 extension_dir = "php安装目录/ext" extension=openssl extension=curl 已在IntelliJ IDEA中安装PHP插件,如果未安装,请按照图1所示安装。 图1 安装PHP插件
  • 准备环境 已获取API的域名、请求url、请求方法、AppKey和AppSecret等信息,具体参见认证前准备。 获取并安装Python安装包(可使用2.7.9+或3.X),如果未安装,请至Python官方下载页面下载。 Python安装完成后,在命令行中使用pip安装“requests”库。 pip install requests 如果pip安装requests遇到证书错误,请下载并使用Python执行此文件,升级pip,然后再执行以上命令安装。 获取并安装IntelliJ IDEA,如果未安装,请至IntelliJ IDEA官方网站下载。 已在IntelliJ IDEA中安装Python插件,如果未安装,请按照图1所示安装。 图1 安装Python插件
  • 调用API示例 在工程中引入apig_sdk。 1 2 3 from apig_sdk import signer import requests import os 生成一个新的Signer,填入AppKey和AppSecret。 1 2 3 4 5 6 7 8 # 认证用的ak和sk编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量SDK_AK和SDK_SK。 ak = os.environ("SDK_AK"); sk = os.environ("SDK_SK"); sig = signer.Signer() sig.Key = ak sig.Secret = sk 生成一个Request对象,指定方法名、请求uri、header和body。 1 2 3 4 r = signer.HttpRequest("POST", "https://c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com/app1?a=1", {"x-stage": "RELEASE", "name": "value"}, "body") 进行签名,执行此函数会在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。然后为请求添加x-Authorization头,值与Authorization头相同。 1 2 sig.Sign(r) r.headers["x-Authorization"] = r.headers["Authorization"] 访问API,查看访问结果。 1 2 3 resp = requests.request(r.method, r.scheme + "://" + r.host + r.uri, headers=r.headers, data=r.body) print(resp.status_code, resp.reason) print(resp.content)
  • 操作步骤 参见新建离线处理集成作业创建一个离线处理集成作业。 类型配置。 图1 类型配置 配置数据连接类型,包含配置源端数据类型和目的端数据类型,支持的数据类型请参见支持的数据源。 选择集成作业类型。 同步类型:默认为离线,不可更改。 同步场景:支持单表、分库分表和整库三种同步方式,具体支持的数据源请参见支持的数据源。 设置网络资源配置。 选择已创建的源端数据连接,且创建的连接必须已勾选数据集成选项。连接不存在时可参见创建DataArts Studio数据连接创建所需连接。 需要测试数据源端和资源组之间网络是否可用,不可用时根据界面提示修改。 选择资源组,集群创建可参见创建 CDM 集群。 选多个集群时系统会随机下发任务,故需要多个集群时版本规格建议选择集群版本一致的集群,否则可能因为集群版本不一致导致作业失败。 选择已创建的目的端数据连接,且创建的连接必须已勾选数据集成选项。连接不存在时可参见创建DataArts Studio数据连接。 需要测试数据连接是否可用,不可用时根据界面提示修改。 配置源端数据参数。 各数据源及各同步场景配置存在一定差异,选择源端配置后,请参见配置作业源端参数配置作业参数。 表1 源端需要配置的作业参数 同步场景 源端需要配置参数 字段映射 单表 基本参数 高级属性 支持 分库分表 选择库表方式:精准匹配或正则匹配 高级属性 支持 整库迁移 添加源数据,选择需要迁移的库表 高级属性 不支持 配置目的端数据参数。 各数据源及各同步场景配置存在一定差异,选择目的端配置后,请参见配置作业目的端参数配置作业参数。 表2 目的端需要配置的作业参数 同步场景 目的端需要配置参数 字段映射 单表 基本参数 高级属性 支持 分库分表 基本参数 高级属性 支持 整库迁移 选择库匹配策略和表匹配策略 不支持 配置字段映射关系。 配置作业源端参数和目的端参数后,需要配置源端和目的端列的映射关系,配置字段映射关系后,任务将根据字段映射关系,将源端字段写入目标端对应类型的字段中。 字段映射配置:选择字段映射关系、设置字段批量映射规则。 字段映射关系 同名映射:对字段名称相同的字段进行映射。使用已有数据进行相同列名的字段自动映射。 同行映射:源表和目标表的字段名称不一致,但字段对应相同行的数据进行映射。查询源端和目的端的字段,再进行相同行的字段自动映射。 字段批量映射:源端配置使用SQL语句为是时不显示该参数。 批量输入字段映射数据,一行输入一个字段映射,等号左边为源表字段右边为目标表字段,例如:reader_column=writer_column。 单击“查看编辑”,设置批量映射关系。 字段映射关系:支持批量转换,添加字段,行移动等功能。 敏感信息检测:检测来源端数据是否包含敏感信息,存在敏感信息时无法进行数据迁移,需根据界面提示修改。 批量转换器:批量转换源字段名。 勾选需要转换的字段名,单击“批量转换器”,在弹出的转换器列表对话框中根据提示新建转换器。 批量移除字段:源端配置使用SQL语句为是时不显示该参数,勾选需要移除的字段名,单击“批量移除字段”。 已移除的字段可以在添加字段里的“添加被移除的字段”中看到。 添加字段:源端配置使用SQL语句为是时不显示该参数。可以为源端和目的端添加新的字段。包含添加已被移除的字段和添加新字段。 添加新字段支持以下类型: 支持函数,例如mysql填写now()、curdate()、postgresql。 支持填写now()、transaction_timestamp()。 支持函数配合关键字,例如postgresql填写to_char(current_date,'yyyy-MM-dd')。 支持填写固定值,例如:123、'123',这两种填法都代表字符串:123。 支持填写变量值,例如:${workDate},workDate需要在作业变量中进行定义。 JDBC支持填写固定变量,例如:DB_NAME_SRC(原始数据库名称)、TABLE_NAME_SRC(源端表名称)、DATASOURCE_NAME_SRC(源端数据源名称)。 支持as语句,例如:'123' as test, now() as curTime。 行移动:源端配置使用SQL语句为是时,在设置字段映射关系阶段不支持该功能。鼠标拖住需要移动的字段所在行,可以任意移动上下位置。 查看转换器:(可选)CDM支持字段内容转换,如果需要可单击操作列下,进入转换器列表界面,再单击“新建转换器”。转换器使用详情请参见字段转换器配置指导。 查找目的端字段:CDM支持搜索查找目的端字段名并匹配字段,如果需要可单击操作列下,进入匹配目的字段对话框,通过搜索关键字或者直接单击目标进行匹配。 删除字段:CDM支持删除原有表的默认字段,如果需要可单击操作列下删除字段,已移除的字段可以在添加字段里的“添加被移除的字段”中看到。 字段映射样例:源端配置使用SQL语句为是时不显示该参数,查看源端和目的端样例数据。 文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,且源端“文件格式”配置为“二进制格式”(即不解析文件内容直接传输),没有字段映射这一步骤。 整库迁移没有配置字段映射关系这一步骤。 迁移过程中可能存在源端与目标端字段类型不匹配,产生脏数据,导致数据无法正常写入目标端,迁移过程中关于脏数据的容忍条数,请参考下一步任务属性进行配置。 当源端某字段未与目标端字段进行映射时,源端该字段数据将不会同步到目标端。 其他场景下,CDM会自动匹配源端和目的端数据表字段,需用户检查字段映射关系和时间格式是否正确,例如:源字段类型是否可以转换为目的字段类型。 如果字段映射关系不正确,用户可以通过拖拽字段来调整映射关系(源端配置使用SQL语句为否时支持该功能)。 如果在字段映射界面,CDM通过获取样值的方式无法获得所有列,则可以单击自定义新增字段,也可单击操作列下创建字段转换器,确保导入到目的端的数据完整。 支持通过字段映射界面的,可自定义添加常量、变量及表达式。 列名仅支持源端为OBS数据源,迁移 CS V文件时配置“解析首行为列名”参数为“是”时显示。 SQLServer作为目的端数据源时,不支持timestamp类型字段的写入,需修改为其他时间类型字段写入(如datatime)。 如果是导入到 数据仓库 服务(DWS),则还需在目的字段中选择分布列,建议按如下顺序选取分布列: 有主键可以使用主键作为分布列。 多个数据段联合做主键的场景,建议设置所有主键作为分布列。 在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布列,可能会有数据倾斜风险。 配置任务属性。 通过任务配置,控制数据同步过程的相关属性,具体请参见表3。 表3 任务配置参数 参数 说明 取值样例 作业期望最大并发数 设置当前作业从源端并行读取或并行写入目标端的最大线程数,由于分片策略等原因,实际运行过程中的并发线程数可能小于此值。 其中,集群最大并发数的设置与CDM集群规格有关,并发数上限建议配置为vCPU核数*2。 例如8核16GB规格集群的最大抽取并发数上限为16。 3 分片重试次数 每个分片执行失败时的重试次数,为0表示不重试。 说明: 目前仅对目的端为Hudi、DWS,导入模式为UPSERT生效,其他场景及配置分片重试次数不生效。 0 是否写入脏数据 选择是否记录脏数据,默认不记录脏数据,当脏数据过多时,会影响同步任务的整体同步速度。 否:默认为否,不记录脏数据。 表示不允许脏数据存在。如果同步过程中产生脏数据,任务将失败退出。 是:允许脏数据,即任务产生脏数据时不影响任务执行。 允许脏数据并设置其阈值时: 若产生的脏数据在阈值范围内,同步任务将忽略脏数据(即不会写入目标端),并正常执行。 若产生的脏数据超出阈值范围,同步任务将失败退出。 说明: 脏数据认定标准:脏数据是对业务没有意义,格式非法或者同步过程中出现问题的数据;单条数据写入目标数据源过程中发生了异常,则此条数据为脏数据。 因此只要是写入失败的数据均被归类于脏数据。 例如,源端是VARCHAR类型的数据写到INT类型的目标列中,则会因为转换不合理导致脏数据不会成功写入目的端。用户可以在同步任务配置时,配置同步过程中是否写入脏数据,配置脏数据条数(单个分片的最大错误记录数)保证任务运行,即当脏数据超过指定条数时,任务失败退出。 否 脏数据写入连接 当“是否写入脏数据”为“是”才显示该参数。 脏数据要写入的连接,目前只支持写入到OBS连接。 obslink OBS桶 当“脏数据写入连接”为OBS类型的连接时,才显示该参数。 写入脏数据的OBS桶的名称。 dirtydata 脏数据目录 “是否写入脏数据”选择为“是”时,该参数才显示。 OBS上存储脏数据的目录,只有在配置了脏数据目录的情况下才会记录脏数据。 用户可以进入脏数据目录,查看作业执行过程中处理失败的数据或者被清洗过滤掉的数据,针对该数据可以查看源数据中哪些数据不符合转换、清洗规则。 /user/dirtydir 单个分片的最大错误记录数 当“是否写入脏数据”为“是”才显示该参数。 单个分区的错误记录超过设置的最大错误记录数则任务自动结束,已经导入的数据不支持回退。 推荐使用临时表作为导入的目标表,待导入成功后再改名或合并到最终数据表。 0 开启限速 是否开启同步限速。该速率代表CDM传输速率,而非网卡流量。 限速:用户可以通过限速控制同步速率,可以保护读取端数据库,避免抽取速度过大,给源库造成太大的压力。限速最小配置为1MB/S。 不限速:在不限速的情况下,任务将在所配置的并发数的限制基础上,提供现有硬件环境下最大的传输性能。 说明: 支持对 MRS Hive\ DLI \关系数据库\OBS\Apache HDFS作为目的端的作业进行单并发限速。 如果作业配置多并发则实际限制速率需要乘以并发数。 是 单并发速率上限(MB/s) 开启限速情况下设置的单并发速率上限值,如果配置多并发则实际速率限制需要乘以并发数。单位:MB/s。 说明: 限制速率为大于1的整数。 10 单并发行数速率上限 设置单并发行数速率上限,单位:record/s。 100000 中间队列缓存大小 数据写入时中间队列缓存大小,取值范围为1-500。 如果单行数据超过该值,可能会导致迁移失败。 如果该值设置过大时,可能会影响集群正常运行。 请酌情设置,无特殊场景请使用默认值。 64 实时检测作业敏感信息 是否开启了实时检测作业敏感信息。 否 保存作业。 作业配置完毕后,单击作业开发页面左上角“保存”按钮,保存作业的配置信息。 作业如果开启了实时检测作业敏感信息,系统会自动检测来源端数据是否包含敏感信息,存在敏感信息时无法进行数据迁移,须根据界面提示修改。 保存后,在右侧的版本里面,会自动生成一个保存版本,支持版本回滚。保存版本时,一分钟内多次保存只记录一次版本。对于中间数据比较重要时,可以通过“新增版本”按钮手动增加保存版本。 测试运行作业。 作业配置完毕后,单击作业开发页面左上角“测试运行”按钮,测试作业。如果测试未通过,请您查看作业节点的运行日志,进行定位处理。 测试运行类似于单次运行,会对数据进行真实迁移。 用户可以查看该作业的测试运行日志,单击“查看日志”可以进入查看日志界面查看日志的详细信息记录。 作业未提交版本之前,进行手动测试运行,作业监控里面的作业运行实例版本显示是0。 提交作业版本。 若任务需要进行周期性调度运行,您需要将任务发布至生产环境。关于任务发布,详情请参见:发布作业任务。 调度作业。 对已编排好的作业设置调度方式。关于调度作业,详情请参见:调度作业。
  • Cell通用操作 表7 Cell通用操作 操作 说明 运行当前Cell 单击后,当前Cell开始运行。 停止运行当前Cell 单击后,正在运行的Cell停止运行。 清空当前Cell结果 鼠标悬浮至结果展示区,单击前方的选择清除单元格输出,即可清除当前Cell的运行结果。 插入Cell(在下方插入) 下方插入:鼠标单击已有Cell,单击右侧的向下插入Cell即可。 移动Cell顺序(向上方/向下方) 单元格上移:鼠标单击已有Cell,单击右侧的向上移动Cell。 单元格下移:鼠标单击已有Cell,单击右侧的向下移动Cell。 移除Cell 单击后,当前Cell将从Notebook中被移除。 复制/剪切/粘贴当前Cell 页面单击,可以用快捷键Ctrl + C。 页面单击,可以用快捷键Ctrl + X。 页面单击,可以用快捷键Ctrl + V。 支持Cell三种展示风格 单击的向下箭头,可以切换Cell展示风格 当前支持Code、Markdown、Raw三种展示风格。默认Code形式的展示。
  • 计费样例 客户的1个应用部署在广州区域,终端用户从香港和菲律宾接入,客户需要配置1个加速实例。1小时内,客户实际产生的流量: 香港-广州 ,从用户到应用方向流量1G,从应用到用户方向流量20G,则主方向为应用到用户方向,流量为20G; 菲律宾-广州,同理算出主方向流量为5G。 则1小时内产生的总费用:加速实例费+数据传输费 = 2.26元/小时*1小时+6.98元/GB*20GB+6.98元/GB*5GB = 176.76元
  • 计费项 表1 全球加速计费项 计费项 基础计费 价格 加速实例费 按照每个全球加速实例的创建时长收费。 按小时计费,创建时长不满1小时按1小时收费。 实例费=实例单价*创建时长 2.26 元/小时 数据传输费 通过全球加速服务转发的流量费用,按GB收费。 从一个全球加速接入点到一个应用部署区域之间的流量,定义流量大的方向为主方向,按照每条流量的主方向收费。 数据传输费=流量单价*使用量 请参见全球加速价格详情。 说明: 全球加速实例的终端节点为EIP类型时,EIP不会重复收取流经GA的流量费用。 接入点和Region部分正在部署中,实际支持的加速区域请参见支持的加速区域。 实际支持的终端节点组所在区域以管理控制台可选配置为准。
  • 检查后端服务器所在安全组 TCP协议监听器:后端服务器所在的安全组入方向规则需要放通TCP对应的探测端口,并在TCP协议中放通健康检查的端口。 健康检查端口与后端服务器业务端口相同:需要放通后端服务器的业务端口,例如80。 健康检查端口与后端服务器业务端口不同:需要放通后端服务器的业务端口和健康检查端口,例如80和443。 健康检查的协议和端口在配置的健康检查配置项提示框中获取。 UDP协议监听器:不仅需要保证安全组入方向规则放通UDP协议健康探测的端口,还需要放通后端服务器所在安全组入方向的ICMP协议。
  • 检查后台服务器监听设置 如果后端服务器的操作系统为Windows,请通过浏览器直接访问https://后端服务器的IP : 健康检查配置的端口。如果返回码为2xx或3xx,则表示后端服务器正常。 您可以在后端服务器上通过以下命令查看后端服务器的健康检查端口是否被健康检查协议正常监听。 netstat -anlp | grep port 回显中包含健康检查端口信息并且显示LISTEN,则表示后端服务器的健康检查端口在监听状态,如图1中表示880端口被TCP进程所监控。 如果您没有配置健康检查端口信息,默认和后端服务器业务端口一致。 图1 后端服务器正常被监听的回显示例 图2 后端服务器没有被监听的回显示例 如果健康检查端口没有在监听状态(后端服务器没有被监听),您需要先启动后端服务器上的业务,启动业务后再查看健康检查端口是否被正常监听。
  • 全球加速如何根据时延实现流量调度? 流量调度是指配置到不同终端节点组的流量比例。如果监听器中有多个终端节点组,分配流量时优先选择时延最低的终端节点组,并按照该终端节点组的流量调度值分配流量,然后再向其他终端节点组分配其余流量。 示例: 如图1所示,某跨国企业在深圳和香港分别开设了分公司,深圳分公司的内部应用系统平台部署在广州区域两台服务器上,香港分公司的内部应用系统平台部署在香港区域的两台服务器上,两个分公司的各个服务器作为负载分担关系各自承担一部分访问流量。 将广州区域对应的终端节点组1和香港区域对应的终端节点组2的流量调度比例同时配置为80%,在时延优先的原则下,深圳用户和香港用户的访问流量将按照如下情形分配: 深圳用户的访问流量将有80%被分配到终端节点组1,剩余20%被分配到终端节点组2。 香港用户的访问流量将有80%被分配到终端节点组2,剩余20%被分配到终端节点组1。 图1 跨国访问流量调度 在该示例中,对于深圳用户来说,访问广州服务器的时延要小于访问香港服务器的时延,所以深圳用户的访问流量优先调度到广州,而对于香港用户来说情况正好相反。
  • 终端节点的状态和健康检查结果是什么意思? 终端节点的状态说明详细请参见表1。 表1 终端节点状态 终端节点状态 说明 待定 终端节点正在配置生成 运行中 终端节点正常工作 异常 终端节点不可用 正在删除中 正在删除终端节点 健康检查结果说明详细请参见表2。 表2 健康检查结果 健康检查结果 说明 初始 终端节点正在配置,还未启动健康检查 正常 终端节点正常工作 异常 终端节点健康检查失败,不可用 未监控 健康检查未开启
  • GA的负载均衡和DNS负载均衡之间有什么区别? 对比维度 全球加速GA DNS(GTM,GSLB) 定义 相当于Global ELB,在全球所有加速点都下发配置负载均衡规则,每个加速点GA都会把访问流量按策略分发到不同后端资源 通过对DNS解析流量按照权重,智能线路等策略把域名解析到不同IP实现全局负载均衡 后端类型 非华为云IP,华为云EIP,私网ECS/ELB 必须是公网IP(不感知IP归属Region,云厂商) 调度策略 权重,时延最优,源IP算法 权重,地理位置/运营商智能线路,时延最优 优劣势 访问源是真实用户,相比DNS是对应用真实访问流量做负载(所有业务访问流量都经过GA,对真实访问流量做负载分发)。 后端资源故障切换(Anycast IP不变)支持秒级生效,不受DNS缓存影响。 成本略高。 访问源是运营商递归DNS,针对DNS解析流量负载分发,不代表后端应用IP真实访问流量(例如两个IP权重比例1:1,上海地区解析返回IP1,新疆地区解析返回IP2,实际上海地区访问流量可能是新疆地区访问几十倍,会导致虽然DNS解析比例是1:1,但是IP1负载大于IP2)。 IP故障切换生效时间受运营商DNS客户端缓存影响。 成本低。
  • 全球加速实例支持的后端服务类型都有哪些? 目前终端节点支持的后端服务类型包含弹性公网IP(EIP)、弹性云服务器(ECS)、弹性负载均衡(ELB)、自定义IP、自定义域名、自定义EIP。 云内资源加速支持选择EIP、ECS、ELB、自定义EIP。 云外资源加速支持选择自定义IP、自定义域名。 不同类型的终端节点已支持的区域详细请参见下表。 表1 全球加速支持终端节点类型 终端节点类型 说明 上线区域 EIP 本账号中的弹性公网IP。 所有区域 自定义EIP 本区域中的弹性公网IP,包括其他账号中的弹性公网IP。 所有区域 ECS 本账号中私网ECS、私网ELB实例,可以不绑定弹性公网IP。 华东-上海一、华北-北京四、华南-广州、中国-香港、亚太-新加坡、土耳其-伊斯坦布尔 ELB 自定义IP 云外第三方业务。 自定义域名 当终端节点组内有多个终端节点时,您可以根据业务需要设置终端节点权重,权重确定了全球加速实例定向分配访问请求到终端节点的流量比例。全球加速实例会计算终端节点组中所有终端节点的权重之和,然后根据每个终端节点的权重与总权重之比将流量定向分配到相应的终端节点。
  • 全球加速、GEIP、CDN全站加速什么区别? 对比维度 全球加速GA CDN全站加速 GEIP 定义 依赖华为云遍布全球骨干网,通过Anycast IP技术使用户访问加速 IP可以就近接入华为云骨干网快速传输到后端应用资源,极大提高网络访问时延,稳定性。 华为云全球部署2800+节点,不同节点之间互相探测时延勾勒出全网时延拓扑图,基于用户位置,运营商,网络质量,节点负载等因素动态计算出最优访问路径。 同GA一样依赖华为云骨干网,可以购买其中一个加速区域的IP,通过骨干网加速到其他后端资源,类似单加速点的GA。 后端类型 非华为云IP,华为云EIP,私网ECS/ELB 公网IP。 私网ECS/ELB,线下私网IP(需要配合云专线、NAT等一起使用) 优劣势 动态请求走骨干网传输,时延更低更稳定。 加速点故障切换(Anycast IP不变)秒级切换临近加速点不受DNS缓存影响。 成本略高,适合时延敏感性应用,如游戏,跨国办公/会议,跨国 视频直播 等; 本质上还是互联网访问,计算出相对更快路径,针对跨境,跨大洲传输优化有限。 CDN边缘节点故障调度生效时间受运营商DNS客户端缓存影响。 成本低,适用于对时延不太敏感应用。 支持三层加速,操作简单便捷。 请求走骨干网传输,时延更低更稳定。 相比GA:不支持跨Region容灾(GA加速后端资源可以部署多个Region);客户业务部署多个国家,需要买多个实例配置复杂,业务切换受DNS缓存影响。 举例 例如开车从北京到广州,CDN全站加速像在全国各省各市甚至县级都有CDN边缘探测点探测当地时延情况,然后通过导航软件快速计算出从北京到广州最快线路。 全球加速GA则是华为云自己在国内搭建高速骨干线路,用户从就近接入点驶入华为云骨干线路直达广州,避免了不同地域不同运营商拥堵故障等其他因素干扰。
  • 华为云已经有了实名认证程序,为什么申请跨境资质还需要额外的实名认证? 华为云的实名认证,信息由华为云收集并保存,用于包括计费,开票等。 全球加速服务在中国大陆到海外的跨境互通场景中,还需要额外的实名认证程序,是因为全球加速服务的跨境业务能力由中国联通直接提供,这一部分实名认证信息由用户在华为云页面录入后,将直接提供给中国联通进行实名资质审查并进行审批,相关信息也会由中国联通收集并保存,用于后续的稽核备案等。
  • 如何申请跨境资质? 准备材料: 《营业执照》盖章件。 《法人身份证或委托人身份证》盖章件。 《华为云服务跨境专线业务服务协议》盖章件。 《中国联通专线业务信息安全承诺书》签字盖章扫描件。 如跨境资质业务不是由法人亲自办理,还需要填写一份《跨境业务办理授权委托书》。 申请流程: 进入全球加速跨境申请管理界面。 在跨境申请页面,单击“跨境申请”。 进入中国联通跨境云服务在线申请页面。 在跨境云服务在线申请页面,根据提示配置相关参数,并上传相关材料。 表1 跨境云服务在线申请 参数 说明 客户名称 必须与《信息安全承诺书》中的“用户名称”保持一致。 华为云ID 指用户在华为云管理控制台的“账号ID”,从控制台获取账号ID的步骤如下: 登录管理控制台。 鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”。 在“API凭证”页面的项目列表中查看并获取账号ID。 客户类型 根据企业类型选择。 经营范围 概括描述主营业务即可。 客户企业规模(人数) 仅做备案参考。 客户所属国家 申请跨境业务的主体所在国家。 客户境内外分公司所在国家 根据企业实际情况填写。 客户统一社会信用代码 - 客户法人 - 法人证件类型 - 法人证件号 - 跨境需求带宽(M) 必须与《信息安全承诺书》中填写的带宽值保持一致。 该信息仅作备案参考,不影响实际业务使用的带宽。 跨境服务生效时间 仅做备案参考。 跨境服务终止时间 仅做备案参考。 客户联系人 - 客户联系人电话 - 联系人证件类型 - 联系人证件号 - 表2 跨境申请材料 材料名称 签字 盖章(企业公章) 说明 营业执照扫描件 - √ 盖章位置请参考相应的模板文件。 《华为云服务跨境专线业务服务协议》扫描件 √ √ 请在签字栏处签字。 盖章需覆盖签名。 《中国联通专线业务信息安全承诺书》扫描件 √ √ 请在签字栏处签字。 盖章需覆盖签名。 该材料中需要填写公司名称、带宽值,带宽值可按照初始预估值填写。 联系人身份证正反面 - √ 盖章位置请参考相应的模板文件。 《跨境业务办理授权书》扫描件 - √ 盖章位置请参考相应的模板文件。 单击“立即申请”。
  • 全球加速服务在哪些场景下需要用户申请跨境资质认证? 根据中华人民共和国工业和信息化部(简称工信部)相关法律、行政法规规定,中国大陆只有三大运营商具备跨境业务运营资质。所以涉及跨中国大陆访问的业务场景,都需要通过跨境资质审核。 在全球加速服务中,需要跨中国大陆通信时,必须提交您的相关资料并申请跨境资质,保障跨境业务的合规性。 跨中国大陆通信一般包括以下两种场景: 加速区域属于中国大陆,终端节点所在区域在中国大陆之外。 加速区域在中国大陆之外,终端节点所在区域属于中国大陆。 申请跨境资质,需要用户提供相应的资质申请文件用印,并在线提交后,由华为云的跨境业务合作伙伴中国联通进行在线申请,在一个工作日内在线反馈审批结果。
  • 剪映操作步骤 本地打开剪映软件,在首页面单击“开始创作”,如图4所示。 图4 开始创作 在新建工程页面,单击“导入”,将H265(HEVC)格式的视频导入至当前工程中,如图5所示。 图5 导入视频 单击导入视频卡片右下角的“+”图标,将视频片段完整添加至下方的轨道中,如图6所示。 图6 视频添加至轨道 单击界面右上方的“导出”,在弹出的“导出”对话框中设置“编码”的取值为“H.264”,如图7所示。 其余参数请根据视频的实际情况设置。 图7 导出H.264视频 单击“导出”,等待视频导出完成后,在本地获取H.264格式的视频即可。
  • 解决方法 方法一:通过剪映将H265(HEVC)视频的格式转码为H264,再上传至MetaStudio控制台,进行形象制作。 剪映的详细操作过程,请参见剪映操作步骤。 方法二:通过ffmpeg将H265(HEVC)视频的格式转码为H264,再上传至MetaStudio控制台,进行形象制作。 输入命令行:ffmpeg -i 视频文件名 -c:v libx264 output.mp4。示例: ffmpeg -i .\test.mp4 -c:v libx264 output.mp4。
  • 问题原因 由于Chrome等浏览器只支持硬解码H265(HEVC)视频,当您的PC硬件不支持解码H265(HEVC)视频时,Chrome等浏览器将无法播放H265(HEVC)视频,并获取不到视频分辨率等参数。 在Chrome浏览器中输入“chrome://gpu”后,搜索“coding”。可以检查当前PC的浏览器是否支持H265(HEVC)视频解码。 图2 查看浏览器配置 用ffmpeg检查视频的编码是否是H265(HEVC),输入命令:ffmpeg -i 视频文件名。 图3 检查视频是否是hevc编码 需要先安装ffmpeg,安装方法如下。 ffmpeg下载地址:https://github.com/BtbN/FFmpeg-Builds/releases。 ffmpeg解压后,将其下bin目录加入系统环境变量。 输入命令行ffmpeg后可以显示版本号,说明安装成功。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全