华为云用户手册

  • URI GET /v1.0/{project_id}/vod/cdn/logs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID 表2 Query参数 参数 是否必选 参数类型 描述 domain_name 是 String 加速 域名 ,参考格式:www.test1.com。 query_date 是 String 查询开始时间,格式为yyyyMMddHHmmss。 查询结果为开始时间之后24小时内的日志数据 只能查最近一个月内的数据 page_size 否 Integer 每页显示日志数量。取值范围为[1,10000],默认值:10000。 page_number 否 Integer 当前页数。取值范围为[1,65535],默认值:1。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 记录总数 summary_results Array of AssetDailySummaryResult objects 日志文件列表 表5 AssetDailySummaryResult 参数 参数类型 描述 date String 播放日期,格式为:yyyyMMdd000000。 link String 日播放统计数据文件的下载地址,有效期为12个小时。 文件内容格式:[域名]\t[媒资ID]\t[日期]\t[播放流量]\t[播放次数] 播放次数统计说明: HLS文件:访问M3U8文件时会统计播放次数,访问TS文件时不会统计播放次数。 其它文件:如MP4文件,当播放请求带有range且range的start参数不等于0时,不统计播放次数。其它情况下,会统计播放次数。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
  • 响应示例 状态码: 200 处理成功返回。 { "total" : 1, "summary_results" : [ { "date" : "20231201000000", "link" : "http://cdn-log-user-bj4.obs.cn-north-4.myhuaweicloud.com:80/asset-play-summary/05a8aee14d8026a92fcdc018fe235c2c/20231201-asset-play-summary.gz?AccessKeyId=QXBNBGA2GW9EP2XXOYUN&Expires=1701786544&Signature=fJjkLLU1IBeTwANC0U0wUZuzd%2F8%3D" } ] } 状态码: 400 处理失败返回。 { "error_code" : "VOD.10053", "error_msg" : "The request parameter is illegal, illegal field: {xx}." }
  • URI GET /v1/{project_id}/asset/daily-summary 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID 表2 Query参数 参数 是否必选 参数类型 描述 start_time 是 String 查询开始时间。仅支持查询一年内的数据,且一次查询的日期跨度不能超过90天。 如果查询指定开始日期的数据,格式为:yyyyMMdd000000。 end_time 是 String 查询结束时间。仅支持查询一年内的数据,且一次查询的日期跨度不能超过90天。 如果查询指定结束日期的数据,格式为:yyyyMMdd000000。 offset 否 Integer 偏移量,表示查询该偏移量后面的记录。 limit 否 Integer 查询返回记录的数量限制。
  • 响应示例 状态码: 200 处理成功返回。 { "asset_id" : "f488337c31c8e4622f1590735b134c65", "video_upload_url" : "https://obs.cn-north-4.myhuaweicloud.com:443/obs-vod-1/%7Bproject_id%7D/f488337c31c8e4622f1590735b134c65/Avatar_480P.mp4?AWSAccessKeyId=CBN2JOVSQVVUREU0R CS N&Expires=1518147618&Signature=kZYh0hEos2VJhjjdHC2zVAHGyXA%3D", "cover_upload_url" : "https://obs.cn-north-4.myhuaweicloud.com:443/obs-vod-1/%7Bproject_id%7D/f488337c31c8e4622f1590735b134c65/cover/Cover0.jpg?AWSAccessKeyId=CBN2JOVSQVVUREU0RCSN&Expires=1518147619&Signature=eVoLA54Qi6cG9vZbS3fuaIw1RDQ%3D", "subtitle_upload_urls" : [ "https://obs-vod-1.obs.cn-north-4.myhuaweicloud.com:443/14ce1d4437164aba8b364ce15866154e/53a018d2dc53ca07eb5a07a839205c9d/subtitle/1.srt?AWSAccessKeyId=CBN2JOVSQVVUREU0RCSN&Expires=1534760131&Signature=twZPabMSf%2FO%2B2H3mpo3Gsqk1uIo%3D" ], "target" : { "bucket" : "obs-vod-1", "location" : "cn-north-4", "object" : "093bb6b6c4fc460ab90a40d8b821dda3/a2053aef99725711dad3e02dc6cd5f89/0a9b70035b78b8a19c6d9e7c2693d93c.mp4" } } 状态码: 403 处理失败返回。 { "error_code" : "VOD.10064", "error_msg" : "Media asset classification does not exist, please check." }
  • 请求示例 创建媒资 POST https://{endpoint}/v1/{project_id}/asset Content-Type: application/json { "title": "Avatar test test", "description": "Avatar, test", "category_id": -1, "tags": "mytags", "video_name": "Avatar_480P.mp4", "video_type": "MP4", "video_md5": "a945d4b3d8fc317190a9332fe856f03d", "cover_type": "JPG", "cover_md5": "a655d4b3d8fc758691a9332fe387f26c", "auto_publish": 0, "subtitles": [ { "id": 1, "language": "CN", "type": "SRT", "md5": "SqcyFjJZoDZaP8oKIY6rgQ==", "description": "AAAAA" } ] }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 asset_id String 媒体ID video_upload_url String 视频上传URL cover_upload_url String 封面上传地址 subtitle_upload_urls Array of strings 字幕文件上传url数组 target File_addr object 媒资存储参数信息。查询接口,仅媒资为托管时有返回值。 表8 File_addr 参数 参数类型 描述 bucket String OBS的bucket名称。 location String 桶所在的区域名, 如“华北-北京四”的区域名为“cn-north-4”,创建的桶所在区域必须和点播服务所在区域保持一致。 object String 文件的存储路径。 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 表3 请求Body参数 参数 是否必选 参数类型 描述 title 是 String 媒资标题,长度不超过128个字节,UTF-8编码。 description 否 String 视频描述,长度不超过1024个字节。 video_name 是 String 音视频文件名,长度不超过128个字节。 文件名后缀可选。 video_type 是 String 上传音视频文件的格式。 取值如下: 视频文件:MP4、TS、MOV、MXF、MPG、FLV、WMV、AVI、M4V、F4V、MPEG、3GP、ASF、MKV、WEBM 音频文件:MP3、OGG、WAV、WMA、APE、FLAC、AAC、AC3、MMF、AMR、M4A、M4R、WV、MP2 若上传格式为音频文件,则不支持转码、添加水印和字幕。 category_id 否 Integer 媒资分类ID。 您可以调用创建媒资分类接口或在点播控制台的分类设置中创建对应的媒资分类,并获取分类ID。 说明: 若不设置或者设置为-1,则上传的音视频归类到系统预置的“其它”分类中。 video_md5 否 String 建议参考《API参考》附录下生成MD5值的媒资上传和更新示例。 cover_type 否 String 封面图片文件类型。 取值如下: JPG PNG 上传后的封面名称是固定的,后缀名为封面类型缩写。例如cover0.jpg,cover1.png 若不指定类型,则封面文件无后缀名。 说明: 如果设置了图片格式,则不会执行首帧截图作为封面动作,需自行上传封面。 cover_md5 否 String 封面图片文件MD5值。建议参考《API参考》附录下生成MD5值的媒资上传和更新示例。 subtitles 否 Array of Subtitle objects 字幕文件信息 tags 否 String 视频标签 。 单个标签不超过24个字节,最多不超过16个标签。 多个用逗号分隔,UTF8编码。 auto_publish 否 Integer 是否自动发布。 取值如下: 0:表示不自动发布。 1:表示自动发布。 默认值:1。 template_group_name 否 String 转码模板组名称。 若不为空,则使用指定的转码模板对上传的音视频进行转码,您可以在 视频点播 控制台配置转码模板,具体请参见《点播服务用户指南》中的“转码设置”。 说明: 若同时设置了“template_group_name”和“workflow_name”字段,则“template_group_name”字段生效。 auto_encrypt 否 Integer 是否自动加密。 取值如下: 0:表示不加密。 1:表示需要加密。 默认值:0。 加密与转码必须要一起进行,当需要加密时,转码参数不能为空,且转码输出格式必须要为HLS。 auto_preheat 否 String 是否自动预热到CDN。 取值如下: 0:表示不自动预热。 1:表示自动预热。 默认值:0。 thumbnail 否 Thumbnail object 截图参数 review 否 Review object 媒资审核参数。 说明: 仅“华北-北京一”、“华北-北京四”点播服务支持此功能。 workflow_name 否 String 工作流名称。若不为空,则使用指定的工作流对上传的音视频进行处理,您可以在视频点播控制台配置工作流,具体请参见《点播服务用户指南》中的“工作流设置”。 表4 Subtitle 参数 是否必选 参数类型 描述 id 是 Integer 字幕id。 取值范围:[1,16]。 type 是 String 字幕文件类型,目前暂只支持“SRT”和“VTT”。 language 是 String 字幕语言类型。 name 否 String 字幕文件名称。 md5 否 String 字幕文件的MD5值。 description 否 String 字幕描述。 表5 Thumbnail 参数 是否必选 参数类型 描述 type 是 String 截图类型。 取值如下: time:每次进行截图的间隔时间。 dots: 按照指定的时间点截图。 quantity: 按照指定张数,根据视频时长等分视频截图。 quantity 否 Integer type取值为quantity时必填。 按照指定张数,根据视频时长等分视频截图。 取值范围:[1,10]之间的整数。 quantity_time 否 Integer type取值为quantity时选填。 按照指定时间间隔取指定张数截图。 取值范围:[0,2147483647]之间的整数。 time 否 Integer 根据时间间隔采样时的时间间隔值。单位:秒。 type取值为time时。 默认值:12 取值范围:[0,100]之间的整数。 dots 否 Array of integers type取值为dots时必填。指定时间截图时的时间点数组。 cover_position 否 Integer 该值表示指定第几张截图作为封面。 默认值:1。 format 否 Integer 截图文件格式。 取值如下: 1:jpg。 默认值:1 。 aspect_ratio 否 Integer 纵横比,图像缩放方式。 取值如下: 0:自适应(保持原有宽高比)。 1:16:9。 默认值:0。 max_length 否 Integer 截图最长边的尺寸。 单位:像素。 宽边尺寸按照该尺寸与原始视频像素等比缩放计算。 默认值:480。 表6 Review 参数 是否必选 参数类型 描述 template_id 是 String 审核模板ID。您可以在视频点播控制台配置审核模板后获取,具体请参见《点播服务用户指南》中的“审核设置”。 说明: 仅“华北-北京一”、“华北-北京四”点播服务支持此功能。 interval 否 Integer 截图检测时间间隔,取值范围为[0,100],该参数在请求参数中忽略。 politics 否 Integer 鉴政内容检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。 terrorism 否 Integer 鉴恐内容的检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。 porn 否 Integer 鉴黄内容的检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。
  • 告警解释 GaussDB (DWS)通过资源池实现对内存、IO和CPU等资源的控制,并基于优先级调度机制实现资源管理和分配,对用户业务提供资源负载管理服务。某种资源紧张时,可能出现SQL语句阻塞排队,等待其他语句执行完毕后才能执行的现象,详情请参见动态负载管理下的CCN排队。 GaussDB(DWS)固定每5分钟检查默认资源池default_pool的队列阻塞情况。如果存在长时间阻塞无法执行的SQL语句(默认20分钟,可配置),则触发集群默认资源池队列阻塞告警;当集群不存在符合告警条件的SQL语句时,自动消除该告警。 如果一直存在能够引发告警的阻塞SQL,那么在24小时(可配置)后将再次发起告警。
  • 概述 用户使用客户端连接DWS集群时,如果用户仅连接一个CN节点地址,通过该CN节点内网IP或弹性公网IP连接时,只能连接到固定的CN节点上,存在CN单点问题。如果通过内网域名或公网域名连接,域名解析服务会对每个客户端随机选择一个内网/公网IP地址,其解析机制并不能保证负载均衡,同样也存在CN单点问题。因此引入了弹性负载均衡服务(Elastic Load Balance,下称ELB)解决集群访问的单点问题。 弹性负载均衡(ELB)是将访问流量根据转发策略分发到后端多台弹性云服务器的流量分发控制服务,可以通过流量分发扩展应用系统对外的服务能力,提高应用程序的容错能力。了解更多,请参见弹性负载均衡。 利用ELB健康检查机制可将集群的CN请求快速转发到正常工作的CN节点上,当有CN故障节点时,也能第一时间切换流量到健康节点上,最大化降低集群访问故障。当前支持同VPC绑定ELB和跨VPC绑定ELB两种类型操作。 该特性仅8.1.1.200及以上集群版本支持。 为保证集群负载均衡和高可用,避免CN单点故障问题,客户生产业务下,要求集群创建后进行ELB绑定。 集群跨VPC绑定ELB时支持绑定与集群VPC不一致的独享型负载均衡。 ELB不支持跨库访问。
  • 约束与限制 绑定ELB时,需创建和GaussDB(DWS)集群相同的区域、VPC以及企业项目的ELB进行绑定。 GaussDB(DWS)的ELB功能仅支持独享型ELB规格,不支持共享型ELB绑定操作。 部分Region因为独享型ELB规格没有上线,所以不支持负载均衡能力。详情可跳转至ELB控制台查看是否支持独享型ELB。 绑定ELB时,需创建TCP网络型且有内网IP的ELB进行绑定。 创建ELB时,ELB规格需要用户按本身业务访问流量评估,建议选取最大规格。GaussDB(DWS)侧仅是绑定关联ELB,并不改变ELB规格。 创建ELB时,仅需创建ELB,无需创建ELB服务的监听器与后端服务器组,GaussDB(DWS)会自动创建所需要的ELB监听器与后端服务器组。 创建ELB时,不能存在与数据库相同端口的监听器,否则会导致ELB绑定失败。 绑定ELB时,GaussDB(DWS)侧默认为ELB服务配置“ROUND_ROBIN”转发策略,并设置10秒的健康检查间隔,50秒超时时间以及3次重试次数。用户如果需要修改此ELB默认参数时,请充分评估影响。 跨VPC绑定ELB时,仅支持独享型负载均衡。 跨VPC绑定ELB时,需检查集群VPC与ELB所属VPC下的子网网段不能重复。 解绑ELB时,GaussDB(DWS)侧会清除ELB中集群相关信息,但并不会删除用户ELB,请注意ELB本身的计费影响,防止不必要的成本支出。 如需要公网IP或者域名访问ELB集群时,请通过ELB服务管理页面进行EIP绑定或者域名操作。 如果集群为IPv4集群,则仅支持绑定IPv4的ELB;如果集群为IPv6双栈集群,则仅支持绑定IPv6双栈的ELB。暂不支持交叉场景的ELB绑定。
  • 告警解释 GaussDB(DWS)每30秒采集集群各节点所有磁盘的使用情况。 如果存在磁盘最近10分钟(可配置)内的最大使用率超过80%(可配置),则上报节点数据盘使用率超阈值的重要告警;如果平均使用率低于75%(即上报阈值减去5%),则消除该重要告警。 如果存在磁盘最近10分钟(可配置)内的最大使用率超过85%(可配置),则上报节点数据盘使用率超阈值的紧急告警;如果平均使用率低于80%(即上报阈值减去5%),则消除该紧急告警。 如果存在磁盘的最大使用率一直大于上报阈值,那么在24小时(可配置)后将再次发起告警。
  • 背景信息 GaussDB(DWS)支持在变更操作前(扩/缩容、经典规格变更、升级)进行集群巡检,即在对应变更页面单击“立即巡检”按钮后会巡检当前集群的健康状态和集群指标是否满足变更要求,检查通过后可开始变更。如果巡检不通过,可打开巡检详情,查看不通过的巡检项,根据详情说明处理不通过的巡检项。巡检项检查标准详情请参见表1。 该特性仅8.1.1及以上集群版本支持。 如果用户无法处理不通过的巡检项,请联系技术支持人员。
  • 概述 阈值告警相关概念: 告警规则:告警规则由告警规则名称,告警规则描述,规则绑定集群列表,告警策略触发关系,告警策略项构成。一条告警规则可绑定某个指定集群或所有集群,拥有一个或多个告警策略。其中,告警策略之间组合关系由“策略触发关系”选项描述。告警规则的阈值触发和抑制条件由每条告警策略描述。 告警策略:为某个告警指标指定的触发条件,抑制条件,告警级别的组合称为告警策略。 告警指标:数据库集群的某个指标项,一般是一个时间序列数据,例如:节点CPU使用率,查询触发下盘量等。 告警规则分类: 默认规则:GaussDB(DWS)阈值告警模块的最佳实践。 自定义规则:用户可自由选择或组合监控指标形成个性化的告警规则。目前版本仅支持用户自定义schema使用率告警规则。 告警规则操作: 修改:修改告警规则的选项。所有告警规则都可以修改编辑,但默认告警规则只能修改部分选项,而自定义告警规则可以修改全部选项。 启用/停用:启用或停用告警规则。所有的告警规则都可以启用/停用,启用后告警规则会被告警引擎纳入检查列表,可以正常触发。停用后的告警规则将被告警引擎移出检查列表,不会触发该规则检查。 删除:删除告警规则。只有自定义告警规则可以被删除,用户无法删除默认告警规则。
  • 告警解释 GaussDB(DWS)开启实时查询监控时,默认每60秒通过GS_WLM_SESSION_STATIS TICS 视图检测CN上正在执行作业的排队状态。 如果10分钟(可配置)内检测集群中处于排队等待状态的SQL语句数量超过10个(可配置),则上报查询语句堆积数量超阈值告警;当集群处于等待状态的SQL语句数量小于10时,自动消除该告警。 如果一直存在能够引发告警的查询语句堆积数量,那么在24小时(可配置)后将再次发起告警。
  • 概述 告警管理包含查看告警规则、告警规则配置与告警信息订阅功能。其中,告警规则可以提供过去一周的告警信息统计与告警信息明细,方便用户自行查看租户下的告警。该特性除了以默认值的形式提供一套GaussDB(DWS)告警最佳实践外,还允许用户根据自己的业务特点,个性化修改告警阈值。告警管理通过 消息通知 服务(Simple Message Notification,简称 SMN )发送GaussDB(DWS) 告警通知,用户可订阅告警启用通知。 该特性仅8.1.1.200及以上集群版本支持。 告警管理目前暂不支持按照企业项目划分告警。
  • 检视代码、合并分支 开发人员发起合并请求。 开发人员Chris完成代码开发,确认无误后,即可发起合并请求,将功能分支合并到master中。 进入代码仓库,选择“合并请求”页签,单击“新建”。 源分支选择“Feature-Store”,目标分支选择“master”,单击“下一步”。 参照表3编辑合并请求详情。 表3 合并请求配置 配置项 配置建议 标题 输入“添加门店网络列表”。 合并人 单击,在弹框中勾选“Maggie”,单击“确定”。 审核人 单击,在弹框中勾选“Maggie”,单击“确定”。 单击“新建合并请求”完成合并请求的创建。 项目经理评审并完成代码合入。 本文档中,合并请求的评审人与合并人均是项目经理Maggie。因此Maggie可评审合并请求内容,并在评审通过后完成分支合入。 进入代码仓库后,选择“合并请求”页签,可找到由开发人员Chris创建的合并请求。 单击该请求,查看合并请求详情。 可在页面中留下评审意见。单击审核门禁中“通过”完成审核。 单击“合入”,将分支合入“master”。 如果发起分支合并请求时勾选了“合并后删除源分支”,分支“Feature-Store”将在分支合并完成后被删除。
  • 开始批量迁移 执行如下命令,查看脚本参数。 python migrate_to_repo.py -h usage: migrate_to_repo.py [-h] [-p {SSH,HTTP,ssh,http}] [-m {API,FILE,api,file}] optional arguments: -h, --help show this help message and exit -p {SSH,HTTP,ssh,http}, --protocol {SSH,HTTP,ssh,http} protocol specified for clone or push -m {API,FILE,api,file}, --mode {API,FILE,api,file} import mode # 参数说明 # -p 协议,默认是SSH协议,可选为SSH/ssh/HTTP/http
  • CodeArts Repo最佳实践汇总 表1 常用最佳实践 实践 描述 批量迁移GitLab内网仓库到CodeArts Repo CodeArts Repo现有迁仓能力只支持公网之间迁移,缺少客户内网自建代码托管平台往Repo迁移的快速方案,因此提供批量迁移内网代码托管平台仓库到Repo的脚本。 如何批量将外部仓库导入CodeArts Repo CodeArts Repo现有迁仓能力只支持公网之间迁移,缺少客户内网自建代码托管平台往Repo迁移的快速方案,因此提供批量迁移内网代码托管平台仓库到Repo的脚本。 HE2E DevOps实践之管理代码 本文以“DevOps全流程示例项目”为例,介绍如何在项目中进行代码开发。
  • 在线拨测按需 表2 在线拨测按需增值特性 计费方式 按需 适用场景 测试计划服务提供了在线拨测能力,提供7*24小时现网拨测,支持告警,实时看护及主动拨测式应用检测。 计费项 次数 购买限制 开通在线拨测按需,须完成CodeArts基础版及以上规格套餐或CodeArts TestPlan套餐的购买,购买的套餐到期后,在线拨测按需将无法继续使用。 计费公式 单价*次数。 计费场景 根据在线拨测的调用次数进行计费。计费的起点是您开通在线拨测按需的时间,终点则是到您关闭按需的时间,每天整点结算一次费用。 购买须知 当超出在线拨测按需套餐包的配额产生的用量,将自动转为按需付费。 当用户的账户余额不足以抵扣产生的按需费用,在线拨测功能将无法正常使用。 在线拨测按需套餐包不支持即时变更,支持关闭按需。
  • 在线拨测按需套餐包 表1 在线拨测按需套餐包增值特性 计费方式 包年/包月 适用场景 测试计划服务提供了在线拨测能力,提供7*24小时现网拨测,支持告警,实时看护及主动拨测式应用检测。 计费项 套数 购买限制 购买在线拨测按需套餐包增值特性前,须完成CodeArts基础版及以上规格套餐或CodeArts TestPlan套餐的购买,购买的套餐到期后,在线拨测按需套餐包将无法继续使用。 计费公式 单价*购买数量*购买时长。 计费周期 根据购买时长确定(以GMT+8时间为准)。一个计费周期的起点是您开通或续费在线拨测按需套餐包增值特性的时间(精确到秒),终点则是到期日的23:59:59。 例如,如果您在2023/03/08 15:50:04购买时长为一个月的在线拨测按需套餐包增值特性,那么其计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59。 到期后影响 在线拨测按需套餐包增值特性到期未续费时,在线拨测相关能力会转到按需付费,请参考在线拨测按需。 购买须知 在线拨测按需套餐包需要在开通按需付费的前提下使用,如果未开通按需,在线拨测能力将无法使用。 当超出在线拨测按需套餐包的配额产生的用量,将自动转为按需付费。 套餐包到期后资源不会自动关闭,将会以按需付费的方式继续使用。 套餐包可多次叠加购买(限购9999个),购买后不支持即时变更数量、时长,不能退订,请您确认好订单信息进行购买。
  • Kafka实时入库到GaussDB(DWS) 通过 数据湖探索 服务 DLI Flink作业将Kafka的消费数据实时同步至GaussDB(DWS) 数据仓库 ,实现Kafka实时入库到GaussDB(DWS)的过程。 了解DLI请参见 数据湖 产品介绍 。 了解Kafka请参见分布式消息服务Kafka产品介绍。 图1 Kafka实时入库DWS 具体操作请参见通过DLI Flink作业将Kafka数据实时写入DWS。 父主题: 实时入库
  • 安装dws-kettle-plugin自定义插件 下载dws-client相关插件。 dws-kettle-plugin.jar:访问下载地址,获取最新版本使用。 dws-client.jar:访问下载地址,获取最新版本使用。 caffeine.jar:访问下载地址,选择与dws-client对应依赖的版本,例如dws-client为1.0.10,则获取1.0.10下对应的caffeine.jar。 必须选择dws-client对应依赖的版本,使用其他版可能会出现不兼容问题。 huaweicloud-dws-jdbc.jar:访问下载地址,选择与dws-client对应依赖的版本,例如dws-client为1.0.10,则获取1.0.10下对应的huaweicloud-dws-jdbc.jar。 在kettle的安装目录data-integration\plugins下新建目录,如dws-plugin。 将dws-kettle-plugin.jar放在data-integration\plugins\dws-plugin目录下。 将dws-client.jar、caffeine.jar放在data-integration\plugins\dws-plugin\lib目录下。 将huaweicloud-dws-jdbc.jar放在data-integration\lib目录下。
  • 表自动分析 GaussDB(DWS)提供了三种场景下表的自动分析。 当查询中存在“统计信息完全缺失”或“修改量达到analyze阈值”的表,且执行计划不采取FQS(Fast Query Shipping)执行时,则通过GUC参数autoanalyze控制此场景下表统计信息的自动收集。此时,查询语句会等待统计信息收集成功后,生成更优的执行计划,再执行原查询语句。 当autovacuum设置为on时,系统会定时启动autovacuum线程,对“修改量达到analyze阈值”的表在后台自动进行统计信息收集。 表1 表自动分析 触发方式 触发条件 触发频率 控制参数 备注 同步 统计信息完全缺失 查询时 autoanalyze truncate主表时会清空统计信息。 同步 数据修改量达到analyze阈值 查询时 autoanalyze 先触发analyze,后选择最优计划。 异步 数据修改量达到analyze阈值 autovacuum线程轮询检查 autovacuum_mode, autovacuum_naptime 2s等锁超时, 5min执行超时。 autoanalyze只支持默认采样方式,不支持百分比采样方式。 多列统计信息仅支持百分比采样,因此autoanalyze不收集多列统计信息。 查询过程因表的“统计信息完全缺失”和“修改量达到analyze阈值”而自动触发autoanalyze的场景,当前不支持对外表触发autoanalyze,不支持对带有ON COMMIT [DELETE ROWS | DROP]选项的临时表触发autoanalyze。 修改量达到analyze阈值是指:表的修改量超过autovacuum_analyze_threshold + autovacuum_analyze_scale_factor * reltuples,其中reltuples是pg_class中记录的表的估算行数。 基于定时启动的autovacuum线程触发的autoanalyze,仅支持行存表和列存表,不支持外表、HDFS表、OBS外表、临时表、unlogged表和toast表。 查询时触发analyze会对分区表的所有分区加四级锁,直到查询所在事务提交后才会放锁。四级锁不堵塞增删改查,但会堵塞分区的修改操作,比如分区的truncate,可以通过将object_mtime_record_mode设置为disable_partition,实现提前释放分区锁。 autovacuum自动清理功能的生效还依赖于下面两个GUC参数: track_counts参数需要设置为on,开启收集收据库统计数据功能。 autovacuum_max_workers参数需要大于0,该参数表示能同时运行的自动清理线程的最大数量。
  • 操作步骤 分析数据源特征,选择若干个键值重复度小,数据分布比较均匀的备选分布列。 从步骤1中选择一个备选分布列创建目标表。 1 2 3 4 5 6 7 8 9 CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UN LOG GED ] TABLE [ IF NOT EXISTS ] table_name ({ column_name data_type [ compress_mode ] [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] } [, ... ]) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] [ DISTRIBUTE BY { REPLICATION | ROUNDROBIN | { HASH ( column_name [,...] ) } } ]; 参照前面章节中的办法向目标表中导入小批量数据。 对于单个数据源文件,在导入时,可通过均匀切割,导入部分切割后的数据源文件来验证数据倾斜性。 检验数据倾斜性。命令中的table_name ,请填入实际的目标表名。 1 SELECT a.count,b.node_name FROM (SELECT count(*) AS count,xc_node_id FROM table_name GROUP BY xc_node_id) a, pgxc_node b WHERE a.xc_node_id=b.node_id ORDER BY a.count desc; 若各DN上数据分布差小于10%,表明数据分布均衡,选择的分布列合适。请清理已导入小批量数据,导入全量数据,以完成数据迁移。 若各DN上数据分布差大于等于10%,表明数据分布倾斜,请从步骤1的备选分布列中删除该列,删除目标表,并重复步骤2 、步骤3 、步骤4 和步骤5。 此处的数据分布差表示实际查询到DN上的数据量与DN平均数据量的差异。分布差可以通过视图PGXC_GET_TABLE_SKEWNESS的查看。 (可选)如果上述步骤不能选出适合的分布列,需要从备选分布列选择多个列的组合作为分布列来完成数据迁移。
  • 示例 对目标表staffs选择合适的分布列。 分析表staffs的数据源特征,选择数据重复度低且分布均匀的备选分布列staff_ID、FIRST_NAME和LAST_NAME。 先选择staff_ID作为分布列,创建目标表staffs。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CREATE TABLE staffs ( staff_ID NUMBER(6) not null, FIRST_NAME VARCHAR2(20), LAST_NAME VARCHAR2(25), EMAIL VARCHAR2(25), PHONE_NUMBER VARCHAR2(20), HIRE_DATE DATE, employment_ID VARCHAR2(10), SALARY NUMBER(8,2), COMMISSION_PCT NUMBER(2,2), MANAGER_ID NUMBER(6), section_ID NUMBER(4) ) DISTRIBUTE BY hash(staff_ID); 向目标表staffs中导入部分数据。 根据以下查询所得,集群环境中主DN数为8个,则建议导入的记录数为80000条。 1 2 3 4 5 SELECT count(*) FROM pgxc_node where node_type='D'; count ------- 8 (1 row) 校验以staff_ID为分布列的目标表staffs的数据倾斜性。 1 2 3 4 5 6 7 8 9 10 11 12 SELECT a.count,b.node_name FROM (select count(*) as count,xc_node_id FROM staffs GROUP BY xc_node_id) a, pgxc_node b WHERE a.xc_node_id=b.node_id ORDER BY a.count desc; count | node_name ------+----------- 11010 | datanode4 10000 | datanode3 12001 | datanode2 8995 | datanode1 10000 | datanode5 7999 | datanode6 9995 | datanode7 10000 | datanode8 (8 rows) 根据上一步骤查询所得,各DN上数据分布差大于10%,数据分布倾斜。所以从步骤1的备选分布列中删除该列,并删除目标表staffs。 1 DROP TABLE staffs; 尝试选择staff_ID、FIRST_NAME和LAST_NAME的组合作为分布列,创建目标表staffs。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CREATE TABLE staffs ( staff_ID NUMBER(6) not null, FIRST_NAME VARCHAR2(20), LAST_NAME VARCHAR2(25), EMAIL VARCHAR2(25), PHONE_NUMBER VARCHAR2(20), HIRE_DATE DATE, employment_ID VARCHAR2(10), SALARY NUMBER(8,2), COMMISSION_PCT NUMBER(2,2), MANAGER_ID NUMBER(6), section_ID NUMBER(4) ) DISTRIBUTE BY hash(staff_ID,FIRST_NAME,LAST_NAME); 校验以staff_ID、FIRST_NAME和LAST_NAME的组合为分布列的目标表staffs的数据倾斜性。 1 2 3 4 5 6 7 8 9 10 11 12 SELECT a.count,b.node_name FROM (select count(*) as count,xc_node_id FROM staffs GROUP BY xc_node_id) a, pgxc_node b WHERE a.xc_node_id=b.node_id ORDER BY a.count desc; count | node_name ------+----------- 10010 | datanode4 10000 | datanode3 10001 | datanode2 9995 | datanode1 10000 | datanode5 9999 | datanode6 9995 | datanode7 10000 | datanode8 (8 rows) 根据上一步骤查询所得,各DN上数据分布差小于10%,数据分布均衡,选择的分布列合适。 清理已导入小批量数据。 1 TRUNCATE TABLE staffs; 导入全量数据,以完成数据迁移。
  • 背景信息 GaussDB(DWS)是采用Shared-nothing架构的MPP(Massive Parallel Processor,大规模并发处理)系统,采用水平分布的方式,将业务数据表的元组按合适的分布策略分散存储在所有的DN。 当前产品支持复制(Replication)、散列(Hash)和轮询(Roundrobin)三种用户表分布策略。 Replication方式:在每一个DN上存储一份全量表数据。对于数据量比较小的表建议采取Replication分布策略。 Hash方式:采用这种分布方式,需要为用户表指定一个分布列(distribute key)。当插入一条记录时,系统会根据分布列的值进行Hash运算后,将数据存储在对应的DN中。对于数据量比较大的表建议采取Hash分布策略。 Roundrobin方式:表的每一行被轮番地发送给各个DN,因此数据会被均匀地分布在各个DN中。对于数据量比较大的表,如果Hash分布找不到一个合适的分布列,建议采用Roundrobin分布策略。
  • 常见问题和定位方法: 问题1:"/***/postgres_public_foreign_test_pipe_tr.pipe" must be named pipe. 定位方法:GDS的外表file_type类型为pipe但是操作的文件却是一个普通文件类型。应该排查postgres_public_foreign_test_pipe_tr.pipe是否是为管道文件。 问题2:could not open pipe "/***/postgres_public_foreign_test_pipe_tw.pipe" cause by Permission denied. 定位方法:GDS没有权限打开管道文件。 问题3:could not open source file /*****/postgres_public_foreign_test_pipe_tw.pipe because timeout 300s for WRITING. 定位方法:GDS导出时打开管道文件超时,一般由于auto_create_pipe为false时候,管道文件在300秒内未被创建,或者创建了但是300秒内没有程序读取该管道文件。 问题4:could not open source file /*****/postgres_public_foreign_test_pipe_tw.pipe because timeout 300s for READING. 定位方法:GDS导出时打开管道文件超时,一般由于auto_create_pipe为false时候,管道文件在300秒内未被创建或者创建了但是300秒之内没有程序写入该管道文件。 问题5:could not poll writing source pipe file "/****/postgres_public_foreign_test_pipe_tw.pipe" timeout 300s. 定位方法:GDS导出时超过300秒未等到管道上的写事件,一般由于该管道文件超过300秒没有被读取。 问题6:could not poll reading source pipe file "/****/postgres_public_foreign_test_pipe_tw.pipe" timeout 300s. 定位方法:GDS导入时超过300秒未等到管道上的读事件,一般由于该管道文件超过300秒没有被写入。 问题7:could not open pipe file "/***/postgres_public_foreign_test_pipe_tw.pipe" for "WRITING" with error No such device or address. 定位方法:表示当前"/***/postgres_public_foreign_test_pipe_tw.pipe"管道文件没有程序正在读取导致GDS无法以写的方式打开管道文件。
共100000条