华为云用户手册

  • IdeaHub B2规格参数 表2 IdeaHub B2规格参数 型号 HUAWEI IdeaHub B2 尺寸 65英寸/75英寸/86英寸 屏幕分辨率 4K 触控点数 20点 内存 4GB Flash 32GB 功能&AI智能 白板书写、无线投屏、随页批注、反向操作、视频会议、硬件音视频编解码、远程双向协作、纪要发送、首页自定义、内置应用市场、信息窗、负一屏 组件 主体:红外触摸屏、编解码器、摄像机、阵列麦克风、扬声器 书写笔:2支 IdeaShare投屏器(选配) 落地支架(选配) 挂墙支架(选配:65、75、86寸通用) 可支持OPS模块,扩展Windows系统 摄像机 分辨率4K,最大广角80°,防雾、防尘、防闪烁、镜头隐私保护盖 扬声器 喇叭数量4个,支持立体声 麦克风 10米拾音,拾音角度前向180°,麦克风数量6个 尺寸&重量 产品尺寸(宽x高x深): 65英寸 :1484.5mm x 91.6mm x 916.1mm 75英寸 :1705.7mm x 91.8mm x 1040.5mm 86英寸 :1953.0mm x 91.8mm x 1180.6mm 包装尺寸(宽x高x深): 65英寸 :1650mm x 220mm x 1050mm 75英寸 :1900mm x 220mm x 1170mm 86英寸 :2090mm x 250mm x 1300mm 毛重 : 65英寸 :43.0kg 75英寸 :57.0kg 86英寸 :73.5kg 净重 : 65英寸 :35.5kg 75英寸 :47.0kg 86英寸 :62.0kg 视频输入接口 1 x 内置摄像头 2 x HDMI 1 x 可选OPS输入 1 x Type-C 视频输出接口 1 x 内置LCD屏 1 x HDMI 音频输入接口 1 x 内置阵列MIC 1 x 3.5mmLINE IN 1 x HD-AI 1 x HDMI (音频输入) 1 x 可选OPS输入 音频输出接口 1 x 内置扬声器 1 x 3.5mmLINE OUT 1 x HDMI (音频输出) 其他接口 3 x USB 3.0 A口 1 x RJ45(10/100/1000M LAN) 1 x Type-C 落地支架 产品尺寸(宽x高x深): 1302 x 764 x 1525mm(65、75、86寸通用) 包装尺寸(宽x高x深): 1390 x 845 x 180mm 毛重 : 24.1KG 净重 : 19.5KG 挂墙支架 产品尺寸(宽x高x深): 1170mm x 210mm x 30mm 包装尺寸(宽x高x深): 1270mm x 300mm x 86mm 毛重 : 5.5KG 净重 : 3.6KG IdeaShare Key 产品尺寸(宽x高x深): 117.3mmx65mmx19.8mm 包装尺寸(宽x高x深): 213mmx100mmx28mm 毛重 : 0.196kg 净重 : 0.08kg
  • IdeaHub S1规格参数 表3 IdeaHub S1规格参数 型号 HUAWEI IdeaHub S1 / S1 Pro 尺寸 65英寸/86英寸 屏幕分辨率 4K 触控点数 20点 内存 12GB Flash 64GB 功能&AI智能 白板书写、无线投屏、随页批注、反向操控、视频会议、硬件音视频编解码、远程双向协作、SVC多流选看、纪要发送、首页自定义、内置应用市场、信息窗、负一屏、人脸自动唤醒、智能呈现会议视角、 智能语音助手 、发言人跟踪(Pro)、智能音频 组件 主体:红外触摸屏、编解码器、摄像机、阵列麦克风、扬声器 书写笔 IdeaShare投屏器(选配) 落地支架(选配) 挂墙支架(选配) 内置华为云会议,不支持第三方会议APP安装,无法选配Windows模块 摄像机 分辨率1080P(S)、4K(Pro),最大广角80°,防雾、防尘、防闪烁 扬声器 喇叭数量6个,支持立体声 麦克风 8米拾音,拾音角度前向180°,麦克风数量12个,回声消除、噪音抑制、自动增益控制,支持外接麦克风 尺寸&重量 产品尺寸(宽x高x深): 65英寸 :S : 1492.5mmx931.1mmx71mm Pro : 1492.5mmx931.1mmx71mm 86英寸 :S : 1963.8mmx1195.1mmx95mm Pro : 1963.8mmx1195.1mmx95mm 包装尺寸(宽x高x深): 65英寸 :S : 1720mmx1114mmx246mm Pro : 1720mmx1114mmx246mm 86英寸 :S : 2090mmx1411mmx336mm Pro : 2090mmx1411mmx336mm 毛重 : 65英寸 :S : 62kg Pro : 62kg 86英寸 :S : 110kg Pro : 110kg 净重 : 65英寸 :S : 50kg Pro : 50kg 86英寸 :S : 90kg Pro : 90kg 视频输入接口 1x内置摄像机 2xHDMI 视频输出接口 1x内置LCD屏 1xHDMI 音频输入接口 1x内置阵列MIC 1x3.5mmLINE IN 1xHDAI 1xHDMI(音频输入) 音频输出接口 1x内置扬声器 1x3.5mm LINE OUT 1xHDMI(音频输出) 其他接口 2xUSB 3.0 A口 1xUSB 3.0 B口 1xRJ45(10/100/1000M LAN) 支持WIFI 2.4GHz和5GHz 会议室类型 微型会议室(15平米以内): S : 65英寸 Pro : 65英寸 小型会议室(15-25平米): S : 65英寸 Pro : 65英寸 中型会议室(25-50平米) : S : 65英寸 Pro : 65英寸 大型会议室(56-100平米): S : 65英寸、86英寸 Pro : 65英寸、86英寸 开放办公区: S : 65英寸、86英寸 Pro : 65英寸、86英寸 培训教室(80-100平米): S : 65英寸、86英寸 Pro : 65英寸、86英寸 落地支架 产品尺寸(宽x高x深): 65英寸 :S : 1160.5mmx1581mmx780mm Pro : 1160.5mmx1581mmx780mm 86英寸 :S : 1370mmx1594mmx745mm Pro : 1370mmx1594mmx745mm 包装尺寸(宽x高x深): 65英寸 :S : 1730mmx840mmx280mm Pro : 1730mmx840mmx280mm 86英寸 :S : 1812mmx822mmx190mm Pro : 1812mmx822mmx190mm 毛重 : 65英寸 :S : 34.6kg Pro : 34.6kg 86英寸 :S : 32.5kg Pro : 32.5kg 净重 : 65英寸 :S : 24.7kg Pro : 24.7kg 86英寸 :S : 23.8kg Pro : 23.8kg 挂墙支架 产品尺寸(宽x高x深): S : 1170mmx210mmx30mm Pro : 1170mmx210mmx30mm 包装尺寸(宽x高x深): S : 1270mmx300mmx86mm Pro : 1270mmx300mmx86mm 毛重 : S : 5.5kg Pro : 5.5kg 净重 : S : 3.6kg Pro : 3.6kg IdeaShare Key 产品尺寸(宽x高x深): S : 117.3mmx65mmx19.8mm Pro : 117.3mmx65mmx19.8mm 包装尺寸(宽x高x深): S : 213mmx100mmx28mm Pro : 213mmx100mmx28mm 毛重 : S : 0.196kg Pro : 0.196kg 净重 : S : 0.08kg Pro : 0.08kg
  • IdeaHub S2/ES2规格参数 表1 IdeaHub S2/ES2规格参数 型号 HUAWEI IdeaHub S2 尺寸 65英寸/75英寸/86英寸 屏幕分辨率 4K 触控点数 20点 内存 S2:8GB ES2:12GB Flash 64GB 功能&AI智能 白板书写、无线投屏、随页批注、反向操作、视频会议、硬件音视频编解码、远程双向协作、SVC多流选看、纪要发送、首页自定义、内置应用市场、信息窗、负一屏、智慧多窗、平行视界、分布式会议流转、人脸自动唤醒、智能呈现会议视角、智能导播、发言人跟踪、智能音幕 组件 主体:红外触摸屏、编解码器、摄像机、阵列麦克风、扬声器 书写笔:2支 IdeaShare投屏器(选配) 落地支架(选配) 挂墙支架(选配:65、75、86寸通用) 可支持OPS模块,扩展Windows系统 摄像机 分辨率4K,最大广角80°,防雾、防尘、防闪烁、镜头隐私保护盖 扬声器 喇叭数量4个,支持立体声 麦克风 12米拾音,拾音角度前向180°,麦克风数量6个,声源定位、回声消除、自动增益控制、DNN去混响 尺寸&重量 产品尺寸(宽x高x深): 65英寸 :1484.5mm x 91.6mm x 947.5mm 75英寸 :1705.7mm x 91.8mm x 1071.9mm 86英寸 :1953.0mm x 91.8mm x 1212.0mm 包装尺寸(宽x高x深): 65英寸 :1650mm x 220mm x 1050mm 75英寸 :1900mm x 220mm x 1170mm 86英寸 :2090mm x 250mm x 1300mm 毛重 : 65英寸 :43.0kg 75英寸 :57.0kg 86英寸 :73.5kg 净重 : 65英寸 :35.5kg 75英寸 :47.0kg 86英寸 :62.0kg 视频输入接口 1 x 内置摄像头 2 x HDMI 1 x 可选OPS输入 1 x Type-C 视频输出接口 1 x 内置LCD屏 1 x HDMI 音频输入接口 1 x 内置阵列MIC 1 x 3.5mmLINE IN 1 x HD-AI 1 x HDMI (音频输入) 1 x 可选OPS输入 音频输出接口 1 x 内置扬声器 1 x 3.5mmLINE OUT 1 x HDMI (音频输出) 其他接口 3 x USB 3.0 A口 1 x RJ45(10/100/1000M LAN) 1 x Type-C 支持WIFI WIFI 6 2.4GHz+5GHz 会议室类型 微型会议室(15平米以内): 65英寸 小型会议室(15-25平米): 65英寸 中型会议室(25-50平米) : 65英寸 大型会议室(56-100平米): 65英寸、75英寸、86英寸 开放办公区: 65英寸、75英寸、86英寸 培训教室(80-100平米): 65英寸、75英寸、86英寸 落地支架 产品尺寸(宽x高x深): 1302 x 764 x 1525mm(65、75、86寸通用) 包装尺寸(宽x高x深): 1390 x 845 x 180mm 毛重 : 24.1KG 净重 : 19.5KG 挂墙支架 产品尺寸(宽x高x深): 1170mm x 210mm x 30mm 包装尺寸(宽x高x深): 1270mm x 300mm x 86mm 毛重 : 5.5KG 净重 : 3.6KG IdeaShare Key 产品尺寸(宽x高x深): 117.3mmx65mmx19.8mm 包装尺寸(宽x高x深): 213mmx100mmx28mm 毛重 : 0.196kg 净重 : 0.08kg
  • 政府基层组织建设 典型应用场景 政府基层党建、精准扶贫指导、税务知识普及培训、远程司法援助。 针对党建工作需要深入到各级市、县、乡、村镇,地域分布广路程远的特点,提供端到端1080p云化视频会议解决方案。市级采购CloudLink BOX系列终端建设大中型会议室。乡级、村级采购IdeaHub和PC软终端,构建小型会议室或桌面接入。确保各级各地都能获得如临现场般的沟通体验。 优势 5线BGP线路、免专线接入,AI加持,混合云,支持主流终端利旧,安全可信。
  • 制造、交通、建筑行业 典型应用场景 总部/分公司/站点间日常行政和工作会议、总部/分公司/站点间的视频调度指挥、现场连线专家进行技术指导、制造设计协同。 通过多方1080p高清视频会议,以及电脑屏幕和数据共享能力,为总部/分公司/站点搭建一个随时可以面对面交流讨论的信息化平台。独有的VME专利技术提供优质的视频图像处理能力和超强的互联网抗丢包能力,让各地可以方便地接入视频会议,通过高清实时的视频画面,专家可以直接查看现场情况,实时给出指导。 优势 全场景覆盖,高效协作。
  • 企业办公 典型应用场景 零售/餐饮企业日常管理会商以及培训赋能、远程设计顾问咨询、企业新品在线发布会、车企4S店专家远程技术支持、远程招聘面试。 满足各种规模企业的各类会议需求。可以通过会议室终端,以及PC桌面端和移动客户端融合组网,实现会议室、个人桌面、移动办公等多地域多种接入方式的灵活应用场景。可以使用一套云视频会议系统,在不同国家、不同地域建设会议室,或通过客户端加入会议,实现跨国会议协作随时随地开启,流畅沟通协作,减少出差成本。 优势 简单易用,高清稳定,高效协同,安全可信。
  • 问题现象 sonarqube引擎的check阶段失败,日志显示“TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension "" for ****/code/.scannerwork/css-bundle/bin/server. Loading extensionless files is not supported inside of "type":"module" package.json contexts. The package.json file ****/code/package.json caused this "type":"module" context. Try changing ****/code/.scannerwork/css-bundle/bin/server to have a file extension. Note the "bin" field of package.json can point to a file with an extension, for example {"type":"module","bin":{"server":"./.scannerwork/css-bundle/bin/server.js"}}”。
  • 处理方法 访问实际使用的代码仓。 在“package.json”文件中删除“"type":"module"”。 在代码仓根目录下新建名为“sonar-project.properties”的文件。 将以下代码输入至“sonar-project.properties”文件中。 sonar.working.directory=projectdir #projectdir为项目代码的相对目录,同时需要确保package.json不在projectdir目录下。
  • 问题现象 代码检查失败,日志显示 : [ERROR] : script returned exit code 127,exitMessage is:command run failed。 或 [ERROR] : script returned exit code 1,exitMessage is:command run failed。 或 [ERROR] : script returned exit code 2,exitMessage is:command run failed
  • 处理方法 减少单个代码检查任务的代码扫描量,可通过以下3种方式。 将报错的代码检查任务拆分多个任务,并在拆分的任务中分别设置不同语言的规则集。设置规则集可参考设置规则集。 例如:报错的代码检查任务A中有多种语言的代码,Java、C、C#,则可以将任务A拆分为任务A1、任务A2和任务A3,其中A1使用Java语言的规则集扫描,A2使用C语言的规则扫描,A3使用C#语言的规则集扫描。 将报错的代码检查任务拆分多个任务,并在拆分的任务中,分别排除部分文件后进行扫描。设置排除文件可参考设置检查模式。 例如:将报错的代码检查任务A拆分为任务A1、任务A2和任务A3,其中A1扫描第1个文件,排除第2个和第3个文件,A2扫描第2个文件,排除第1个和第3个文件,A3扫描第3个文件,排除第1个和第2个文件。 将报错的代码检查任务使用的代码仓拆分成多个子仓分别创建代码检查任务进行扫描。
  • 处理方法 以root用户登录执行代码检查任务的执行机。 执行以下命令,查看当前可打开的文件数。 ulimit -Hn ulimit -Sn 执行“vim /etc/security/limits.conf”命令,打开文件。 增加以下配置命令,用户退出后重新登录生效。 * soft nofile 65536 * hard nofile 65536 命令前需要注意带“*”号。 按“Esc”键返回普通模式。 输入“:wq”保存并退出。 执行以下命令,查看当前可打开的文件数是否已修改为65536。 ulimit -Hn ulimit -Sn
  • 处理方法 secsolar1130之后的版本可参考设置代码检查任务检查模式设置忽略jsp文件。 secsolar1130之前的版本需要添加properties文件排除。 在代码仓根目录下新建名为“sonar-project.properties”的文件。 将以下代码输入至“sonar-project.properties”文件中。 ssonar.findbugs.allowuncompiledcode=true sonar.exclusions=**/*.jsp
  • 处理方法 以root用户登录执行代码检查任务的执行机。 执行以下命令,确保rpcbind服务正在运行。 bash systemctl start rpcbind systemctl enable rpcbind 执行以下命令,启动nfslock服务。 bash systemctl start nfs-server systemctl enable nfs-server 如果系统提示nfslock服务不存在,可以尝试使用nfs-server或者nfs-kernel-server命令启动NFS服务。 执行以下命令,检查nfslock服务是否成功启动,若未成功, 需执行3重新启动。 bash systemctl status nfs-server 确保“/etc/exports”文件中配置了需要共享的目录,并且nfslock服务的配置文件“/etc/sysconfig/nfs”已经正确设置。 如果修改了NFS的配置文件,需执行以下命令,重启NFS服务,使修改生效。 bash systemctl restart nfs-server 检查防火墙设置,确保防火墙没有阻止NFS服务所需的端口。如果被阻止,需要添加相应的规则来允许NFS流量通过。
  • 处理方法 以root用户登录执行代码检查任务的执行机。 执行以下命令,查看当前系统最大线程数。 ulimit -Hu ulimit -Su 执行“vim /etc/security/limits.conf”命令,打开文件。 增加以下配置命令,用户退出后重新登录生效。 * soft nproc 4096 * hard nproc 4096 命令前需要注意带“*”号。 按“Esc”键返回普通模式。 输入“:wq”保存并退出。 执行以下命令,查看当前可打开的文件数是否已修改为4096。 ulimit -Hn ulimit -Sn
  • 处理方法 减少单个代码检查任务的代码扫描量,可通过以下3种方式。 将报错的代码检查任务拆分多个任务,并在拆分的任务中分别设置不同语言的规则集。设置规则集可参考设置规则集。 例如:报错的代码检查任务A中有多种语言的代码,Java、C、C#,则可以将任务A拆分为任务A1、任务A2和任务A3,其中A1使用Java语言的规则集扫描,A2使用C语言的规则扫描,A3使用C#语言的规则集扫描。 将报错的代码检查任务拆分多个任务,并在拆分的任务中,分别排除部分文件后进行扫描。设置排除文件可参考设置检查模式。 例如:将报错的代码检查任务A拆分为任务A1、任务A2和任务A3,其中A1扫描第1个文件,排除第2个和第3个文件,A2扫描第2个文件,排除第1个和第3个文件,A3扫描第3个文件,排除第1个和第2个文件。 将报错的代码检查任务使用的代码仓拆分成多个子仓分别创建代码检查任务进行扫描。
  • 处理方法 原因一: 减少单个代码检查任务的代码扫描量,可通过以下3种方式。 将报错的代码检查任务拆分多个任务,并在拆分的任务中分别设置不同语言的规则集。设置规则集可参考设置规则集。 例如:报错的代码检查任务A中有多种语言的代码,Java、C、C#,则可以将任务A拆分为任务A1、任务A2和任务A3,其中A1使用Java语言的规则集扫描,A2使用C语言的规则扫描,A3使用C#语言的规则集扫描。 将报错的代码检查任务拆分多个任务,并在拆分的任务中,分别排除部分文件后进行扫描。设置排除文件可参考设置检查模式。 例如:将报错的代码检查任务A拆分为任务A1、任务A2和任务A3,其中A1扫描第1个文件,排除第2个和第3个文件,A2扫描第2个文件,排除第1个和第3个文件,A3扫描第3个文件,排除第1个和第2个文件。 将报错的代码检查任务使用的代码仓拆分成多个子仓分别创建代码检查任务进行扫描。 原因二: 请联系技术支持,使用更大规格的执行机。
  • 参考信息 表2 DataCheck目录说明 文件或文件夹 说明 DataCheck bin 保存校验工具入口脚本。 Windows版本:datacheck.bat Linux版本:datacheck.sh conf 配置文件,进行源数据库和目的数据库的连接配置和日志打印设置。 lib 保存校验工具运行所需的相关jar包。 check_input.xlsx 待校验的表信息,包括Schema名、表名、列名等。 记录用户的校验级别信息和校验规则。已支持3种级别校验,包括high、middle、low,默认为low。 logs 压缩包中不包含该文件,校验工具执行后自动生成,记录工具运行过程日志。 check_input_result.xlsx 压缩包中不包含该文件,执行校验工具后会在check_input.xlsx相同路径下生成校验结果文件。
  • 步骤三:表数据校验 迁移完成之后,可使用数据校验工具DataCheck校验源端、目标端的数据是否一致。 下载软件包后,解压DataCheck-*.zip包,进入DataCheck-*目录,即可使用。目录下各文件的使用说明参见表2。 配置工具包。 Windows环境下: 打开conf文件夹中的dbinfo.properties文件,根据实际需要进行配置。Holo源的配置参考下图: 图16 配置DataCheck 文件中的密码src.passwd和dws.passwd可使用工具,执行以下命令生成密文。 encryption.bat password 运行成功后会在本地bin目录下生成加密文件,如下图。 Linux环境下: 其他步骤相同。密文生成方法与上文中Window环境下的方法类似,命令为sh encryption.sh [password]。 执行数据校验。 Windows环境下: 打开check.input文件,将要校验的Schema、数据库、源表、目标端表填入,Row Range可根据需要填写特定范围的数据查询语句。 源端的库名在配置文件中配置后,check.input文件中的源端会默认填写配置文件中的库名,若check.input文件中填入其他库名,以check.input文件中的优先级为高。 校验级别Check Strategy支持high、middle、low三种,若未填写,默认为low。 校验模式Check mode支持statistics,即统计值校验。 下图为元数据对比的check_input文件。 图17 check_input 在bin目录下使用命令datacheck.bat执行校验工具: 查看已生成的校验结果 check_input_result.xlsx: 下图为源端元数据与目标端一致的结果。 下图为源端元数据与目标端不一致的结果。 统计值校验参考下图。 Linux环境下: 编辑check_input.xlsx文件并上传,参考Window环境下的第一步。 使用命令sh datacheck.sh执行校验工具。 查看校验结果check_input_result.xlsx(校验结果分析与Windows场景相同)。
  • 迁移前准备 已经购买了 GaussDB (DWS)和 CDM 集群,参见CDM使用指南。 需确保源Hologres集群、目标GaussDB(DWS)集群与CDM网络互通。本例GaussDB(DWS)和CDM创建在同一个区域、同一个网络私有云和子网下。 迁移用户权限放通。 源端和目标端客户端安装完成。 已准备表1所列的迁移工具:DSC、DataCheck。 DataCheck运行环境满足以下要求: 服务器:Linux或Windows服务器,支持64位操作系统。 JRE或JDK:系统已安装JRE 1.8。 网络环境:安装、运行DataCheck工具的服务器,需要与待连接的数据库的网络互通。
  • 步骤一:元数据迁移 在Hologres中,使用以下SQL命令进行用户的角色和权限查询。 1 2 SELECT ROLNAME FROM pg_roles; SELECT user_display_name(ROLNAME) FROM pg_roles; 在GaussDB(DWS)中,集群创建成功后,默认情况下未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。默认只有对象所有者或者系统管理员可以查询、修改和销毁对象。根据Hologres的查询出的角色和权限,相应在GaussDB(DWS)中创建对应的角色和权限,并通过以下途径授权用户权限。 使用GRANT将对象的权限授予其他用户。 1 2 GRANT USAGE ON SCHEMA schema TO user; GRANT SELECT ON TABLE schema.table To user; 使用户继承角色所拥有的对象权限。 1 2 CREATE ROLE role_name WITH CREATEDB PASSWORD '*******'; GRANT role_name to user; 导出源语法。源语法是客户业务的实现逻辑,从Hologres中导出源语法,再修改为适用于GaussDB(DWS)的语法,可以减少建模的工作量,提升业务迁移的效率。 执行以下SQL进行全量语法导出。 1 SELECT hg_dump_script('schema_name.table_name'); 由于源语法涉及业务范围的识别,需熟悉业务的DBA进行操作,建议源语法由客户DBA提供。 如果进行批量导出,可以使用UNION ALL将所有待查询表关联,语法格式如下: 1 2 3 4 SELECT hg_dump_script('schema_name.table_name') UNION ALL SELECT hg_dump_script('schema_name.table_name') … 如果执行失败,需要使用如下命令在DB中创建extension,然后再执行上述SQL。 1 CREATE EXTENSION hg_toolkit; 连接GaussDB(DWS),执行以下SQL创建数据库,推荐使用MySQL兼容模式建库。 1 CREATE DATABASE tldg WITH ENCODING 'UTF-8' TEMPLATE template0 DBCOMPATIBILITY 'MYSQL'; 使用DSC工具对DDL语法进行转换。 解压迁移前准备获取到的DSC工具包。 将待转换的DDL语法文件放入DSC的input文件夹中。 图2 input目录 打开命令行工具,Windows环境下双击runDSC.bat。(Linux环境下运行runDSC.sh。) 执行以下命令进行语法转换。 1 runDSC.bat -S Hologres 图3 DDL语法转换 可以在output文件夹下查看转换结果。 图4 DDL转换结果 连接GaussDB(DWS),执行上一步转换完成的DDL语句,完成建表。 DSC更多内容请参见DSC工具使用指导。
  • 步骤五:准备DWS对接Flink工具dws-connector-flink dws-connector-flink是一款基于DWS JDBC接口实现对接Flink的一个工具。在配置 DLI 作业阶段,将该工具及依赖放入Flink类加载目录,提升Flink作业入库DWS的能力。 浏览器访问https://mvnrepository.com/artifact/com.huaweicloud.dws。 在软件列表中选择最新版本的DWS Connectors Flink,本实践选择DWS Connector Flink 2 12 1 12。 单击“1.0.4”分支,实际请以官网发布的新分支为准。 单击“View ALL”。 单击dws-connector-flink_2.12_1.12-1.0.4-jar-with-dependencies.jar,下载到本地。 创建OBS桶,本实践桶名设置为obs-flink-dws,并将此文件上传到OBS桶下,注意桶也保持与DLI在一个区域下,本实践为“ 华北-北京四”。 图12 上传jar包到OBS桶
  • 参考信息 更多参考信息可查看工具指南-DataCheck。 表1 DataCheck目录说明 文件或文件夹 说明 DataCheck bin 保存校验工具入口脚本。 Windows版本:datacheck.bat Linux版本:datacheck.sh conf 配置文件,进行源数据库和目的数据库的连接配置和日志打印设置。 lib 保存校验工具运行所需的相关jar包。 check_input.xlsx 待校验的表信息,包括Schema名、表名、列名等。 记录用户的校验级别信息和校验规则。已支持3种级别校验,包括high、middle、low,默认为low。 logs 压缩包中不包含该文件,校验工具执行后自动生成,记录工具运行过程日志。 check_input_result.xlsx 压缩包中不包含该文件,执行校验工具后会在check_input.xlsx相同路径下生成校验结果文件。 表2 数据校验工具基本功能介绍 DataCheck工具介绍 支持DWS,MySQL,PostgreSQL数据库的数据校验。 支持通用类型字段校验:数值、时间、字符类型。 支持校验级别设置:包括high、middle、low三种。 支持指定schema、表名、列名进行校验。 支持指定记录的校验范围,默认为校验所有记录。 校验方式涉及count(*)、max、min、sum、avg以及抽样明细校验等方式。 输出校验结果和相关校验明细说明。 表3 数据校验级别说明 校验级别 校验说明 校验相关语法 低 数据数量校验 条数校验: COUNT(*) 中 数据数量校验 数值类型校验 条数校验: COUNT(*) 数值校验: MAX, MIN, SUM, AVG 高 数据数量校验 数值类型校验 日期类型校验 字符类型校验 条数校验: COUNT(*) 数值校验: MAX, MIN, SUM, AVG 日期校验: MAX, MIN 字符校验:order by limit 1000,读出数据并校验内容是否相同。
  • 步骤一:元数据迁移 使用华为云自研工具DSC迁移,将Redshift中客户源端导出的样例表的DDL语句转成DWS中可执行的SQL。 解压获取到的DSC工具包,将需要转换的文件放入DSC的input目录下。 Redshift表结构设计中不含索引,影响性能的关键点取决于DDL中的数据分布键DISTSTYLE和排序键SORTKEY。 图2 DDL语句 自定义配置features-pg.properties文件。 图3 features-pg.properties文件 进入到DSC对应目录下,执行runDSC脚本。Windows环境下双击runDSC.bat。(Linux环境下执行runDSC.sh。) 执行以下命令进行语法转换。 1 runDSC.bat -S postgres 图4 DSC转换 查看结果及转换信息。 图5 转换结果 连接GaussDB(DWS),执行上一步转换完成的DDL语句,完成建表。 DSC更多内容请参见DSC工具使用指导。
  • 步骤六:优化迁移作业 配置Kettle内存。 为了增加Kettle并发数及缓存数据量大小,可以设置Kettle的内存大小。 用Notpad++打开Spoon.bat脚本,编辑内存相关内容,一般建议为主机内存的60%-80%,如下图所示。 图28 配置内存 配置Job。 当表数据量小于千万时,Job调度的表个数建议配置在10个左右。 对于相对大一点的表,例如1亿左右的数据,建议配置2~3个即可,这样配置,即使其中一个任务中途失败,也可以打开相应的转换任务,单独调度,提高效率。 对于数据量超过1亿以上的表,尤其是字段数特别多的表,Kettle抽取效率相对较慢,可以根据业务实际情况选择相应的迁移方式。 图29 配置Job 在配置任务的时候,尽量将表数据量大致相同的任务放到一个Job中,这样可以保证所有任务执行完成的时间大致相同,不会有拖尾任务,影响下一个job的执行。 如果任务出错,可以查看相应的报错日志,一般情况下遇到的都是源端连接限制导致断开的问题。遇到该情况,可以重启Kettle软件,重试即可。
  • 步骤七:表数据校验 迁移完成之后,可使用数据校验工具DataCheck校验源端、目标端的数据是否一致。 下载软件包后,解压DataCheck-*.zip包,进入DataCheck-*目录,即可使用。目录下各文件的使用说明参见表1。 配置工具包。 Windows环境下: 打开conf文件夹中的dbinfo.properties文件,根据实际需要进行配置。Redshift源的配置参考下图: 图30 配置DataCheck 文件中的密码src.passwd和dws.passwd可使用工具,执行以下命令生成密文。 encryption.bat password 运行成功后会在本地bin目录下生成加密文件,如下图。 Linux环境下: 其他步骤相同。密文生成方法与上文中Window环境下的方法类似,命令为sh encryption.sh [password]。 执行数据校验。 Windows环境下: 打开check_input.xlsx文件,将要校验的Schema、数据库、源表、目标端表填入,Row Range可根据需要填写特定范围的数据查询语句。 源端的库名在配置文件中配置后,check_input.xlsx文件中的源端会默认填写配置文件中的库名,若check_input.xlsx文件中填入其他库名,以check_input.xlsx文件中的优先级为高。 校验级别Check Strategy支持high、middle、low三种,若未填写,默认为low。 校验模式Check mode支持statistics,即统计值校验。 下图为元数据对比的check_input.xlsx文件。 图31 check_input.xlsx 在bin目录下使用命令datacheck.bat执行校验工具: 查看已生成的校验结果 check_input_result.xlsx: 下图为源端元数据与目标端一致的结果。 下图为源端元数据与目标端不一致的结果。 统计值校验参考下图。 Linux环境下: 编辑check_input.xlsx文件并上传,参考Window环境下的第一步。 使用命令sh datacheck.sh执行校验工具。 查看校验结果check_input_result.xlsx(校验结果分析与Windows场景相同)。
  • 了解Kettle Kettle是一个开源的ETL(Extract-Transform-Load)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。它提供了一个可视化的图形化界面,使用户能够通过拖放和连接组件来设计和配置ETL流程。支持多种数据源和目标,包括关系型数据库、文件、API、Hadoop等。Kettle提供了丰富的转换和清洗功能,可以对数据进行格式转换、数据过滤、数据合并、数据计算等操作。 它的主要功能如下: 无代码拖拽式构建数据管道。 多数据源对接。 数据管道可视化。· 模板化开发数据管道。 可视化计划任务。 深度Hadoop支持。 DWS需要绑定公网IP后才能与Kettle连接使用。 Kettle和 云数据迁移 (Cloud Data Migration,简称CDM)都适用于批处理场景,当数据量或表数量较小时,推荐使用kettle,反之使用CDM。 支持从数据库导出数据到文件,也支持将数据导入到数据库。 Kettle可通过建立触发器、时间戳字段、Kafka等方式实现数据实时同步。 本实践预计时长90分钟,演示迁移Redshift的基本流程如下: 迁移前准备:准备迁移工具Kettle和相关套件包。 步骤一:元数据迁移:使用DSC工具进行迁移。 步骤二:部署Kettle工具:配置Kettle工具。 步骤三:新建Transformation并配置源端数据库和目标数据库:创建一个transformation任务,配置好源端和目标端数据库。 步骤四:迁移数据:包括全量迁移、增量迁移。 步骤五:并发执行迁移作业:创建一个job,用于并发执行多个transformation任务,达到并发迁移多张表的目的。 步骤六:优化迁移作业:通过调整Kettle内存大小和Job的任务数量,提高迁移效率。 步骤七:表数据校验:迁移后数据一致性验证。
  • 迁移前准备 已经购买了GaussDB(DWS)集群,并已绑定弹性公网IP,并已规划创建好目标数据库dws_vd。 已获取DSC工具包,下载并安装DSC。 已获取DataCheck工具包,下载并安装DataCheck。 已获取Kettle工具包,下载地址(本文以9.4.0.0-343版本为例)。 已安装JDK 1.8环境,并配置相关环境变量。 已获取Kettle工具套件。工具包中包括DWS驱动包、Redshift驱动包、plugin文件夹。 图1 Kettle工具套件
  • 步骤四:迁移数据 全量数据迁移 右键编辑Table input,数据库选择源端数据库连接。 图16 编辑Table input 右键编辑DWS TableOutput,数据库选择目的端数据库连接。勾选Turncate table、Specify database fields,同时选择Database fields下的Get fields获取源端和目的端的字段映射连接,单击OK。 图17 编辑Table output 图18 编辑Database fields 配置好后单击Run,开始执行迁移任务。 图19 执行Run 增量数据迁移 增量迁移和全量迁移的步骤大致相同,区别在于源端SQL中增加了where条件,目的端配置去掉了勾选Truncate table。 右键编辑Table input,数据库选择源端数据库连接。 图20 编辑Table input 右键编辑DWS TableOutput,数据库选择目的端数据库连接。去勾选Truncate table,同时选择Database fields 下的Get fields获取源端和目的端的字段映射连接,单击OK。 图21 编辑TableOutput 配置好后单击Run,开始执行迁移任务。 图22 执行Run
  • 步骤四:通过外表导入DLI表数据 使用系统管理员dbadmin用户登录GaussDB(DWS)数据库,默认登录gaussdb数据库即可。 执行以下SQL创建外部Server。其中OBS终端节点从1获取,AK和SK从准备工作获取,DLI终端节点从2获取。 如果DWS和DLI是同一个账户创建下,则AK和SK分别对应重复填写一次。 1 2 3 4 5 6 7 8 9 CREATE SERVER dli_server FOREIGN DATA WRAPPER DFS_FDW OPTIONS ( ADDRESS 'OBS终端节点', AC CES S_KEY 'AK值', SECRET_ACCESS_KEY 'SK值', TYPE 'DLI', DLI_ADDRESS 'DLI终端节点', DLI_ACCESS_KEY 'AK值', DLI_SECRET_ACCESS_KEY 'SK值' ); 执行以下SQL创建目标schema。 1 CREATE SCHEMA dws_data; 执行以下SQL创建外表。其中项目ID替换为3获取的实际值。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CREATE FOREIGN TABLE dws_data.dli_pq_order ( order_id VARCHAR(14) PRIMARY KEY NOT ENFORCED, order_channel VARCHAR(32), order_time TIMESTAMP, cust_code VARCHAR(6), pay_amount DOUBLE PRECISION, real_pay DOUBLE PRECISION ) SERVER dli_server OPTIONS ( FORMAT 'parquet', ENCODING 'utf8', DLI_PROJECT_ID '项目ID', DLI_DATABASE_NAME 'dli_data', DLI_TABLE_NAME 'dli_order') DISTRIBUTE BY roundrobin; 执行以下SQL,通过外表查询DLI的表数据。 结果显示,成功访问DLI表数据。 1 SELECT * FROM dws_data.dli_pq_order; 执行以下SQL,创建一张新的本地表,用于导入DLI表数据。 1 2 3 4 5 6 CREATE TABLE dws_data.dws_monthly_order ( order_month CHAR(8), cust_code VARCHAR(6), order_count INT, total_pay_amount DOUBLE PRECISION, total_real_pay DOUBLE PRECISION ); 执行以下SQL,查询出2023年的月度订单明细,并将结果导入DWS表。 1 2 3 4 5 6 7 8 INSERT INTO dws_data.dws_monthly_order ( order_month, cust_code, order_count , total_pay_amount, total_real_pay ) SELECT TO_CHAR(order_time, 'MON-YYYY'), cust_code, COUNT(*) , SUM(pay_amount), SUM(real_pay) FROM dws_data.dli_pq_order WHERE DATE_PART('Year', order_time) = 2023 GROUP BY TO_CHAR(order_time, 'MON-YYYY'), cust_code; 执行以下SQL查询表数据。 结果显示,DLI表数据成功导入DWS数据库。 1 SELECT * FROM dws_data.dws_monthly_order;
  • 步骤三:获取GaussDB(DWS)外部服务器所需鉴权信息 获取OBS桶的终端节点。 登录OBS管理控制台。 单击桶名称,左侧选择“概览”,并记录终端节点。 访问终端节点获取DLI的终端节点。 本例(华北-北京四)为dli.cn-north-4.myhuaweicloud.com。 获取创建DLI所使用的账号的特定区域的项目ID。 鼠标悬浮在右上方的账户名,单击“我的凭证”。 左侧选择“API凭证”。 从列表中,找到DLI所属区域,本例为华北-北京四,记录区 域名 所在的项目ID。 获取账号的AK和SK,参见准备工作。
共100000条
提示

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