• 华为云云原生数据库GaussDB加速创新,企业核心数据上云信赖之选
    4月25日,在华为开发者大会(Cloud)上,华为云发布了云原生数据库GaussDB,主打政企核心业务负载的金融级分布式数据库。企业上云的核心是数据库上云,随着业务和数据规模几何级增长,数据流量洪峰不断,业务“始终在线”,无中断的需求,核心数据库上云大势不可逆转。华为云GaussDB,是企业核心数据上云的信赖之选,在性能、可用性、弹性方面全面提升,并且已经受金融业务全场景的严苛考验。         华为云CTO张宇昕表示:“数据库是承载企业核心交易业务与数据处理的核心基石,云原生数据库需要承载核心业务的高性能,并具备弹性扩展快速发放、高可用、数据安全等能力。华为已经持续战略投入GaussDB数据库10多年,GaussDB是结合云原生与AI的技术倾力打造的数据库,涵盖了关系型与非关系型的全场景业务。GaussDB这款产品是主打政企核心业务负载的金融级分布式数据库旗舰产品,具备出色的混合负载高性能、金融级高可用等商用能力。云原生数据库GaussDB加速创新       性能卓越:GaussDB在交易事务处理方面,通过Numa-Aware技术大幅度降低单节点内CPU跨核的内存访问时延,同时结合分布式GTM-Lite的分布式强一致与轻量化事务快照,将单节点和分布式性能提升了5倍。在复杂查询性能方面,主要通过分布式全并行架构提供极致的吞吐量性能。首先通过MPP节点并行,把执行计划动态均匀分布到所有节点;其次利用SMP算子级并行,将单节点内的多个CPU核心做并行计算;最后通过指令级并行,实现1个指令同时操作多条数据,进而大幅度降低查询时延。在银行实际业务测试中,无论是交易事务处理性能,还是复杂查询性能,都大幅度领先于其他厂商。金融级高可用:GaussDB为金融政企客户提供同城AZ内高可用、跨AZ高可用、异地跨Region的两地三中心容灾等多种高可用方案,满足金融级监管要求。GaussDB通过独有的Switch Turbo技术保障同城AZ内单点故障10秒内切换,保障业务的可靠性和可用性。弹性扩展:GaussDB具备在线弹性扩展能力,支持1000+超大分布式集群的能力。单集群分片扩展支持数据自动在线完成重分布操作,支持PB级海量事务型存储扩展能力,可以轻松应对海量高并发数据处理和复杂查询场景的考验。数据安全可靠:传统云数据库只能实现数据的传输与存储态加密,GaussDB作为业界首款纯软全密态数据库,提供丰富的数据库安全能力,可实现数据从传输、计算到存储的全程加密,从用户认证、角色管理、对象访问控制、动态脱敏、统一审计、全密态等多维度来守护系统和数据安全,解决数据库云上隐私泄露及第三方信任问题。 AI-Native自治,管理智能高效:GaussDB将AI技术融入分布式数据库的全生命周期,可以实现数据库智能调优、索引推荐、自诊断、自运维等能力,协助DBA降低运维难度,大幅提升管理效率。其中在参数自调优中,当前已经覆盖了500+重点参数,通过深度强化学习与全局调优算法,结合不同业务负载模型进行针对性调优,相比DBA人工根据经验调优,性能提升30%的同时,耗费时间从天缩短到分钟级。在智能索引推荐中,通过启发式推荐算法,实现了语句级和负载级智能索引推荐,将效率从小时级提升到秒级,并在benchmark测试中实测性能提升了约40倍。 华为云GaussDB经历金融严苛考验,共建开放共赢生态GaussDB广泛适用于金融政企核心交易、企业生产系统、互联网金融、ERP/CRM、办公/OA等业务场景。GaussDB通过和工商银行长期联创,已经实现了覆盖银行A类(核心交易系统)到D类(办公、门户系统)全场景业务的上线考验,稳定服务于上亿客户。在过去的两年,华为云GaussDB数据库面向70所高校,200家ISV,发展了10万开发者。此外,通过开源openGauss单机版本,鼓励更多开发者加入openGauss社区共同繁荣开源生态。在未来3年,华为云GaussDB将和国内超过100所高校合作开设数据库课程。华为云首先提出云原生2.0,让每个企业都成为“新云原生企业”,华为云云原生数据库GaussDB将持续注入更领先的技术,为企业数字化转型提供无限可能。
  • [分享驿站] DWS免费试用-创建数据库的疑惑?
    查看文档有如下的说明:而我创建的数据库超过上限的128个,且无任何提示创建数据库的个数超过限制。若超过了128个会带来怎样的影响?
  • [分享驿站] DWS免费试用教程
    DWS免费试用活动说明:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=122035&page=1&extra=#pid1061064DWS免费试用教程:见附件
  • [其他系列] 给强大的“心脏”配上“超级流水线”- GaussDB(DWS)数据仓库平台ETL系统建设方案
    # 一、前言 在数据仓库平台建设过程中,数据的加载、卸载,各层数据模型之间的数据流转,业务规则的实现等等数据加工过程都会以ETL任务的方式实现。 构建ETL子系统是数据仓库系统实施的一个非常重要的环节,在仓库平台建设过程中搭建一个完整、标准的ETL子系统是数据仓库平台建设的基础性目标之一。 ETL是Extraction(数据抽取),Transform(数据转换)和Loading(数据加载)这三个数据处理动作的缩写,也是早期数据仓库建设的数据流转处理顺序,因此形成的专用术语沿用至今。但是随着作为数据仓库核心的数据库引擎技术的不断发展,ETL模式也在不断发展和改变,逐渐形成了E-L-T,E-T-L-T等不同形式。对于GaussDB DWS为代表的MPPDB数据仓库平台,则多以ELT或是ETLT模式为主来构建ETL子系统。 # ETL子系统逻辑参考架构 ETL子系统的建设目的是将企业中的分散、零乱、标准不统一的异构数据源的业务数据整合到一起,进行必要的清洗和转换,形成高质量的统一的数据模型,或者是便于用户查询,分析和探索的维度模型。 ![参考架构.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/06/210840agiq1lpv1pumdg1n.png) 图1 数据仓库子系统参考架构 2.1 数据抽取(Extraction) 数据抽取是从数据仓库的上游系统(通常是核心系统,业务系统或外部系统)进行全量或增量数据抓取的过程。而随着企业内部信息底层架构的完善和数据平台功能的划分,不同平台通常采用松耦合的方式进行关联。传统中下游系统直接到上游系统进行数据抽取的这种方式并不符合当前技术的发展趋势。一方面,下游系统直接到上游系统进行数据抽取操作牵涉到权限的开放管理,增加了上游系统的数据安全风险。另一方面,本身数据抽取操作也应当在业务系统自身正常业务完成后的时间窗口进行,以避免数据抽取时对正常作业流程的资源竞争。因此数据抽取这个环节的操作,通常是上下游系统进行接口协商,由上游系统按照接口规范进行数据卸载操作。或者对于更成熟的企业,会构建统一的数据交换平台来完成企业内部统一的数据抽取/卸载工作。 对于数据仓库平台来说,数据抽取的工作更多的是形成统一的接口规范。 2.2 数据转换(Transform) 广义上的数据转换包括数据清洗,数据关联加工,数据标准化处理,数据汇总聚合等操作。大部分基于业务规则和数据模型的数据转换操作在MPPDB数据库内实现比在数据库外的ETL服务器上进行实现效率更高。而这种转换操作在数据库内通过SQL实现T过程,也比通过ETL工具实现T过程更具有标准化和开放性,适合业务人员参与T过程的开发,校验。 2.3 数据加载(Loading) 对于数据仓库而言,不仅仅是数据加载,还包括数据卸载,也就是Loading和Unloading过程。典型的场景就是在数据到达的高峰期进行大量的文件加载入库的操作。而库内数据加工完成后,及时地进行数据卸载操作,形成接口文件推送给下游系统。所以高效地批量数据加载和卸载操作是数据仓库ETL系统要面对的主要挑战之一。而随着客户对实时数据仓库的需求越来越普遍,数据库和消息队列,数据流组件之间的实时数据加载和卸载的技术则是当前ETL系统构建时面临的又一个技术挑战。 # 三、ETL子系统的两种实现架构 依托GaussDB(DWS)数据库构建ETL系统一般有两种实现方式:重ETL Server方案和MPPDB方案。如下图 ![实现架构.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/06/210900bcmf2meuulmqywjt.png) 图2 两种架构示意图 3.1 重ETL Server方案 这种方案借助专业化的ETL软件:Informatica, DataStage, Kettle等软件,采用分布式的/基于共享存储的ETL服务器集群方式部署ETL软件。在执行ETL任务的时候,数据从MPPDB读取出来,数据处理过程在ETL服务器完成,处理完结果再推送到数据库服务器,其中有些操作可以通过SQL Push down在数据库内完成。 这种方案的特点在于整个ETL开发和部署过程图形化操作和脚本化操作方式结合,基于工具过程的开发也可以对ETL过程进行基于元数据的血缘分析,影响性分析;作业自动化编排,调度方面ETL工具的功能弱于专业的调度软件。 基于ETL工具方案对于ETL开发过程来说需要专业的开发人员,要对ETL工具本身有很深入的了解,从这方面来说,过于专业化的工具门槛不利于企业内部的业务专家和分析人员介入ETL开发过程。而ETL方面对于软硬件的投入成本也是需要纳入考量的一个问题。 3.2 MPPDB方案 本方案中ETL服务器轻量化,生产环境一般提供主备服务器避免单点故障即可。主要特点如下: - 利用MPPDB并行处理引擎,海量数据ETL处理效率更高。 - ETL过程SQL模板化,快速开发和迭代的过程代价低; - 汇总层和集市层的ETL处理逻辑一般和业务规则强相关,SQL标准对于业务人员开发门槛低 - 与第三方ETL服务器解耦,通过工具封装,可以避免过度依赖某一个ETL工具; - 需要对ETL脚本模板进行定制化封装式开发,为运维,优化,数据治理等过程提供底层数据 3.3简单对比 重ETL Server方案适合基于文件的数据清洗类ETL工作:对于字符集的转换处理;按照接口规范对接口数据的预处理(判断文件大小,记录行数等文件信息和属性方面的数据质量检查);文件的分组,拆分,压缩,解压缩等;以及延伸出去的文件监控和传输功能。 MPPDB方案实际上就是基于SQL的实现方案,适合数据规范化处理:如业务编码转换,业务逻辑主键生成,符合业务规范的数据转换处理;数据转换处理:汇总,聚合,过滤,关联,拆分,转换等。 # 四、GaussDB(DWS)ETL系统实现要点 对于GaussDB(DWS)而言,大多数场合下推荐采用MPPDB方案。实现这种方案实际上要实现ETL SQL模板的封装,把ETL开发过程与外部ETL调度系统的结合进行分层处理。通过模板方式实现与调度软件,和操作系统的接口封装,把SQL实现业务的模块封装在GSQL工具中,开放给业务人员和开发人员,令其聚焦在业务实现本身,而不用在意外部环境对于ETL过程操作的影响。 4.1 基于MPPDB的ETL环境逻辑视图 ![逻辑视图.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/06/210919bq9lswkm9arb0tnc.png) 图3 逻辑视图 ETL调度 数据仓库平台的ETL作业系统是一种后台非交互方式运行的批量数据处理系统。ETL作业调度是将数据仓库系统中运行的各种后台作业自动化,并监视和控制作业的运行。使用调度软件实现作业调度。作业可以分布在多个服务器平台上,能够设定作业定义、依赖关系、顺序关系、工作组关系等,方便地对作业进行自动调度、运行和管理。 调度监管平台可以图形方式动态监视和控制作业的运行,对作业执行中出现的错误/警告提供详细的信息。 ETL脚本封装 GSQL是执行SQL的工具,但是与调度软件之间的结合还有一定的功能缺失,如参数解析,日志解析,异常处理等,所以需要对GSQL进行必要的封装,提高和调度软件之间的契合度。 gsql模板 对加工处理的etl过程进行抽象,总结,形成算法模板。 指定必要的输入参数,设定会话启动的公共参数,为后续的优化和跟踪埋点打桩。 调用形式 调度工具->Python或其他脚本工具模板->GSQL->{.gsql} 4.2 GSQL封装 ![gsql封装.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/06/210936uqnqxcfjwshbrnxs.png) 图4 GSQL封装示意图 增加封装的必要性: GSQL和调度软件解耦:调度软件都具备调用Python/Perl/Shell脚本的能力,通过脚本封装,把GSQL和调度软件解耦,降低GSQL和调度软件的适配兼容性风险; 封装模板需要考量的功能点: - 调度命令到GSQL运行命令的转换: 调度命令相对简单,和业务逻辑相关:如业务子系统代码,算法模板代码,数据日期等; GSQL的运行参数不需要或不应当暴露在调度系统接口下:如登录密码,verbose参数等级等与业务无关的或者为了便于运维,性能跟踪的额外参数; - 登录密码加密解密: GSQL登录密码不允许明文存储,需要密文方式保存在ETL服务器上,执行时候也需要避免出现在后台命令行中被ps指令查看到; - 异常处理: GSQL脚本运行出错后的异常处理功能:如重跑,告警通知等; - 运行日志解析: GSQL的运行日志解析:针对GSQL脚本中不同语句,不同事务的执行时间解析跟踪,错误,告警代码的解析跟踪,为性能分析提供最详细的底层数据; 五、小结 本文对数据仓库构建ETL子系统进行了初步介绍,说明了当前较为主流的两种ETL子系统实现架构,比对MPPDB数据库的ETL架构进行了对比说明。最后对GaussDB(DWS)下的ETL子系统的实现要点进行了梳理,重点对etl实现的逻辑视图以及GSQL封装的功能要点进行了阐述。在今后的篇章,作者会对gsql的具体封装实现的最佳实践做个更为详细的介绍。
  • [分享驿站] GaussDB(DWS)第一期免费试用活动集群购买、配置、试用流程
    GaussDB(DWS)第一期免费试用活动集群购买、配置、试用流程 一、0元购买DWS集群首先根据‘GaussDB(DWS)小助手’发放的地址进入页面并确认0元购买DWS免费试用活动,确认后页面如下,并记录节点规格及节点数量。之后可以点击页面上方的费用中心,进入页面后左侧选择订单管理-我的订单,确认是否已生效。 二、配置DWS集群进入DWS控制台https://console.huaweicloud.com/dws/进行集群创建,点击右上方红色的‘购买数据仓库集群’。根据活动发放的节点规格及节点数量进行配置(一定要确认无误,不然会收费)。集群名称、管理员密码、端口、高级配置等信息可自由修改。公网访问需要购买,根据情况进行选择,我这里不测加载导出性能,所以选择购买最低的1M/s。修改完信息确认无误后点击立即购买。等待集群创建过程中会有进度提示,全部完成后集群状态为可用。点击集群名称,进入集群基本信息页面,查看集群公网IP并记录。三、使用DWS集群进入DWS连接管理页面查看下载客户端https://console.huaweicloud.com/dws/?region=cn-north-4#/dws/management/connectManagement首先以gsql客户端为例,点击下载并解压后,source gsql_env.sh脚本,然后直接连DWS集群进行操作。也可以使用data studio连接DWS集群,具体步骤为首先安装配置JDK,下载解压data studio,双击Data Studio.exe启动,点击左上角文件-新建连接,数据库类型选择HUAWEI CLOUD DWS输入IP等信息后点击确定,就可以操作DWS集群了。
  • [技术干货] 华为云云原生数据库GaussDB加速创新,企业核心数据上云信赖之选
    4月25日,在华为开发者大会(Cloud)上,华为云发布了云原生数据库GaussDB(for openGauss),主打政企核心业务负载的金融级分布式数据库。企业上云的核心是数据库上云,随着业务和数据规模几何级增长,数据流量洪峰不断,业务“始终在线”,无中断的需求,核心数据库上云大势不可逆转。华为云GaussDB(for openGauss),是企业核心数据上云的信赖之选,在性能、可用性、弹性方面全面提升,并且已经受金融业务全场景的严苛考验。华为云CTO张宇昕表示:“数据库是承载企业核心交易业务与数据处理的核心基石,云原生数据库需要承载核心业务的高性能,并具备弹性扩展快速发放、高可用、数据安全等能力。华为已经持续战略投入GaussDB数据库10多年,GaussDB是结合云原生与AI的技术倾力打造的数据库,涵盖了关系型与非关系型的全场景业务。GaussDB(for openGauss)这款产品是主打政企核心业务负载的金融级分布式数据库旗舰产品,具备出色的混合负载高性能、金融级高可用等商用能力。”华为云CTO张宇昕介绍云原生数据库GaussDB(for openGauss)云原生数据库GaussDB(for openGauss)加速创新性能卓越:GaussDB(for openGauss)在交易事务处理方面,通过Numa-Aware技术大幅度降低单节点内CPU跨核的内存访问时延,同时结合分布式GTM-Lite的分布式强一致与轻量化事务快照,将单节点和分布式性能提升了5倍。在复杂查询性能方面,主要通过分布式全并行架构提供极致的吞吐量性能。首先通过MPP节点并行,把执行计划动态均匀分布到所有节点;其次利用SMP算子级并行,将单节点内的多个CPU核心做并行计算;最后通过指令级并行,实现1个指令同时操作多条数据,进而大幅度降低查询时延。在银行实际业务测试中,无论是交易事务处理性能,还是复杂查询性能,都大幅度领先于其他厂商。金融级高可用:GaussDB(for openGauss)为金融政企客户提供同城AZ内高可用、跨AZ高可用、异地跨Region的两地三中心容灾等多种高可用方案,满足金融级监管要求。GaussDB(for openGauss)通过独有的Switch Turbo技术保障同城AZ内单点故障10秒内切换,保障业务的可靠性和可用性。弹性扩展:GaussDB(for openGauss)具备在线弹性扩展能力,支持1000+超大分布式集群的能力。单集群分片扩展支持数据自动在线完成重分布操作,支持PB级海量事务型存储扩展能力,可以轻松应对海量高并发数据处理和复杂查询场景的考验。数据安全可靠:传统云数据库只能实现数据的传输与存储态加密,GaussDB(for openGauss)作为业界首款纯软全密态数据库,提供丰富的数据库安全能力,可实现数据从传输、计算到存储的全程加密,从用户认证、角色管理、对象访问控制、动态脱敏、统一审计、全密态等多维度来守护系统和数据安全,解决数据库云上隐私泄露及第三方信任问题。AI-Native自治,管理智能高效:GaussDB(for openGauss)将AI技术融入分布式数据库的全生命周期,可以实现数据库智能调优、索引推荐、自诊断、自运维等能力,协助DBA降低运维难度,大幅提升管理效率。其中在参数自调优中,当前已经覆盖了500+重点参数,通过深度强化学习与全局调优算法,结合不同业务负载模型进行针对性调优,相比DBA人工根据经验调优,性能提升30%的同时,耗费时间从天缩短到分钟级。在智能索引推荐中,通过启发式推荐算法,实现了语句级和负载级智能索引推荐,将效率从小时级提升到秒级,并在benchmark测试中实测性能提升了约40倍。华为云GaussDB经历金融严苛考验,共建开放共赢生态GaussDB(for openGauss)广泛适用于金融政企核心交易、企业生产系统、互联网金融、ERP/CRM、办公/OA等业务场景。GaussDB(for openGauss)通过和工商银行长期联创,已经实现了覆盖银行A类(核心交易系统)到D类(办公、门户系统)全场景业务的上线考验,稳定服务于上亿客户。在过去的两年,华为云GaussDB数据库面向70所高校,200家ISV,发展了10万开发者。此外,通过开源openGauss单机版本,鼓励更多开发者加入openGauss社区共同繁荣开源生态。在未来3年,华为云GaussDB将和国内超过100所高校合作开设数据库课程。华为云首先提出云原生2.0,让每个企业都成为“新云原生企业”,华为云云原生数据库GaussDB(for openGauss)将持续注入更领先的技术,为企业数字化转型提供无限可能。
  • [问题求助] 请问gaussdb dws支持哪些平台
    请问gaussdb dws支持哪些平台?
  • [问题求助] gaussdb dws的认证
    请问,有人考过gaussdb dws的认证吗?应该如何报考呢。
  • [问题求助] 华为GaussDB DWS,收费模式是怎样的
    华为GaussDB DWS,收费模式是怎样的?也是按照cpu的数量?大概多少银子?
  • [问题求助] GaussDB DWS怎么实现资源池划分
    GaussDB DWS怎么实现资源池划分
  • [其他问题] 【DWS产品】【COPY功能】可否实现DN上使用COPY入库
    【COPY功能问题】COPY相对于GDS使用方便、快捷。但是单纯直走CN会导致性能非常不理想。COPY 操作无法在 DN 上进行,能否实现 COPY 能在DN 上进行数据录入,再由 DN按照分布列进行数据分发至其他DN?如果可以这样,那么就可以利用其所有多个DN来进行数据COPY录入。
  • [实践系列] DWS对接DLI Flink实现实时数据接入
            当前实时数据的接入和处理在DWS承载的业务中所占的比例越来越大,DWS可以和DLI Flink结合,实现实时数据处理结果的报表展示。同时,DWS可以作为Flink维表引擎,存储维表数据,共Flink关联时使用。下面介绍DWS如何与DLI Flink相结合,实现实时数据的存储和查询。一、创建DLI Flink作业   在DLI管理控制台的左侧导航栏中,单击“作业管理”>“Flink作业”,进入“Flink作业”页面。   在“Flink作业”页面右上角单击“创建作业”,弹出“创建作业”对话框。   图1 创建Flink SQL作业3. 配置作业信息。表1 作业配置信息参数参数说明类型选择“Flink SQL”:用户通过编辑SQL语句来启动作业。名称作业名称,只能由字母、中文、数字、中划线和下划线组成,并且长度为1~57字节。说明:作业名称必须是唯一的。描述作业的相关描述,长度为0~512字节。模板名称当编辑器选择“SQL编辑器”时,该参数有效。用户可以选择样例模板或自定义的作业模板。关于模板的详细信息,请参见Flink模板管理。标签使用标签标识云资源。包括“标签键”和“标签值”。如果您需要使用同一标签标识多种云资源,即所有服务均可在标签输入框下拉选择同一标签,建议在标签管理服务(TMS)中创建预定义标签。具体请参考《标签管理服务用户指南》。说明:o    最多支持10个标签。o    一个“键”只能添加一个“值”。o    标签键:在输入框中输入标签键名称。说明:§  标签键的最大长度为36个字符 ,不能包含“=”,“*”,“,”,“<”,“>”,“\”,“|”,“/”,且首尾字符不能为空格。§  若有预定义标签,可在输入框的下拉列表中进行选择。o    标签值:在输入框中输入标签值。说明:§  标签值的最大长度为43个字符,不能包含“=”,“*”,“,”,“<”,“>”,“\”,“|”,“/”,且首尾字符不能为空格。§  若有预定义标签,可在输入框的下拉列表中进行选择。 4.  单击“确定”,进入作业“编辑”页面。 5.  编辑SQL作业。在SQL语句编辑区域,输入详细的SQL语句。相关SQL语句请参考《数据湖探索SQL语法参考》。 6.  单击“语义校验”,确保语义校验成功。  只有语义校验成功后,才可以执行“调试”或“启动”作业的操作。  如果校验成功,提示“SQL语义校验成功”。  如果校验失败,会在错误的SQL语句前面显示红色的“X”记号,鼠标移动到“X”号上可查看详细错误,请根据错误提示修改SQL语句。 7.  设置作业运行参数。图2 设置Flink SQL作业运行参数表2 作业运行参数说明参数参数说明CU数量CU数量为DLI的计算单元数量和管理单元数量总和,CU也是DLI的计费单位,1CU=1核4G。管理单元管理单元CU数量。最大并行数最大并行数是指同时运行Flink SQL作业的最大任务数。说明:最大并行数不能大于计算单元(CU数量-管理单元)的4倍。TaskManager配置用于设置TaskManager资源参数。勾选后需配置下列参数:o    “单TM所占CU数”:每个TaskManager占用的资源数量。o    “单TM Slot”:每个TaskManager包含的Slot数量。保存作业日志设置是否将作业运行时的日志信息保存到OBS。日志信息的保存路径为:“桶名/jobs/logs/作业id开头的目录”。在作业列表中,单击对应的作业名称,在“运行日志”页签,可以单击页面提供的OBS链接跳转至对应的路径下。勾选后需配置下列参数:“OBS桶”:选择OBS桶用于保存用户作业日志信息。如果选择的OBS桶是未授权状态,需要单击“OBS授权”。说明:如果同时勾选了“开启Checkpoint”和“保存作业日志”,OBS授权一次即可。作业异常告警设置是否将作业异常告警信息,如作业出现运行异常或者欠费情况,以SMN的方式通知用户。勾选后需配置下列参数:“SMN主题”:选择一个自定义的SMN主题。如何自定义SMN主题,请参见《消息通知服务用户指南》中“创建主题”章节。开启Checkpoint设置是否开启作业快照,开启后可基于Checkpoint(一致性检查点)恢复作业。勾选后需配置下列参数:o    “Checkpoint间隔”:Checkpoint的时间间隔,单位为秒,输入范围 1~999999,默认值为10s。o    “Checkpoint 模式”:支持如下两种模式:§  AtLeastOnce:事件至少被处理一次。§  ExactlyOnce:事件仅被处理一次。o    “OBS桶”:选择OBS桶用于保存用户Checkpoint。如果选择的OBS桶是未授权状态,需要单击“OBS授权”。说明:如果同时勾选了“开启Checkpoint”和“保存作业日志”,OBS授权一次即可。异常自动重启设置是否启动异常自动重启功能,当作业异常时将自动重启并恢复作业。勾选后需配置下列参数:o    “异常重试最大次数”:配置异常重试最大次数。单位为“次/小时”。§  无限:无限次重试。§  有限:自定义重试次数。o    “从Checkpoint恢复”:需要同时勾选“开启Checkpoint”才可配置该参数。空闲状态保留时长用于清除GroupBy或Window经过最大保留时间后仍未更新的中间状态,默认设置为1小时。脏数据策略选择处理脏数据的策略。支持如下三种策略:“忽略”,“抛出异常”和“保存”。说明:“保存”是指将脏数据保存到OBS桶中。脏数据转储地址“脏数据策略”选择“保存”时,配置该参数。单击地址框选择保存脏数据的OBS路径。所属队列默认选择“共享队列”,用户也可以选择自定义的独享队列。选择“独享队列”时需配置以下参数:“UDF Jar”:用户自定义UDF文件,在选择UDF Jar之前需要将对应的jar包上传至OBS桶中,并在“数据管理>程序包管理”中创建程序包,具体操作请参考创建程序包。用户可以在SQL中调用插入Jar包中的自定义函数。说明:o    当子用户在创建作业时,子用户只能选择已经被分配的队列。o    当所选择队列的剩余容量不能满足作业需求时,系统会自动扩容,将按照增加的容量计费。当队列空闲时,系统也会自动缩容。(可选)根据需要调试参数。作业调试功能只用于验证SQL逻辑,不会有数据写入操作。 具体操作请参见调试作业。单击“保存”,保存作业和相关参数。 二. 编写flink sql读取和写入数据1.  以flink从kafka读取数据写入DWS为例,sql语句如下:第一步:创建数据源,一般是kafka源。第二步:创建维表Flink还支持以GaussDB(DWS)作为维表引擎,实现flink表和维表的关联操作,再将数据sink到目标表。DWS维表创建语法如下。create table dimtion_tbl (id bigint,name varchar,address varchar)with ("connector.type" = "gaussdb","connector.url" = "jdbc:postgresql://xx.xx.xx.xx:8000/db_name","connector.table" = "table_name","connector.username" = "user_name","connector.password" = "password","connector.lookup.cache.max-rows" = "200000","connector.lookup.cache.ttl" = "1h");其中需要注意的是:connector.lookup.cache.max-rows需要根据flink的维表cache大小来确定,即用cache大小除以表数据每行平均大小,即为缓存行数。维表一般都较小,因此尽量将所有数据都缓存在flink中,减小对DWS的压力。connector.lookup.cache.ttl:根据实际情况设置,一般设置为与原平台维表一致即可。此外,Flink会对维表进行高并发点查,需要在维表的关联字段上建立B-tree索引。 第三步:创建目标表参数解释:参数 是否必选 说明 connector.type  是  connector类型,对于dws(gaussdb),需配置为'gaussdb' connector.url  是  jdbc连接地址,格式为:jdbc:postgresql://${ip}:${port}/${dbName} connector.table  是  操作的表名 connector.username  否  数据库认证用户名,需和'connector.password'一起配置 connector.password  否  数据库认证密码,需和'connector.username'一起配置 connector.driver  否  jdbc连接驱动,默认为: org.postgresql.Driver connector.read.partition.column  否  source配置,用于对输入进行分区的列名 connector.read.partition.num  否  source配置,输入分区的个数  connector.read.partition.lower-bound  否  source配置,第一个分区的最小值  connector.read.partition.upper-bound  否  source配置,最后一个分区的最大值 connector.read.fetch-size  否  source配置,每次从数据库拉取数据的行数。默认值为0,表示忽略该提示 connector.lookup.cache.max-rows  否  维表配置,缓存的最大行数,超过该值时,老的数据会被踢除。-1表示不使用缓存 connector.lookup.cache.ttl  否  维表配置,缓存超时时间,超过该时间的数据会被剔除。格式为:{length value}{time unit label},如123ms, 321s,支持的时间单位包括: d,h,min,s,ms等,默认为ms connector.lookup.max-retries  否  维表配置,数据拉取最大重试次数,默认为3 connector.write.mode  否  sink配置,数据写入模式,支持: copy, insert以及upsert三种。与'primary key'配合使用。未配置'primary key'时:支持copy及insert两种追加写入,其中copy方式为批量写入,insert为单条写入。配置'primary key'时:,支持copy&merge、upsert以及insert&update三种更新写入。注意:由于dws不支持更新分布列,因而配置的更新主键必须包含dws表中定义的所有分布列 connector.write.flush.max-rows  否  sink配置,数据flush大小,超过该值将触发写入flush。默认为5000 connector.write.flush.interval  否  sink配置,数据flush周期,周期性触发写入flush。格式为:{length value}{time unit label},如123ms, 321s,支持的时间单位包括: d,h,min,s,ms等,默认为ms connector.write.max-retries  否  sink配置,写入最大重试次数,默认为3 connector.write.merge.filter-key  否  sink配置,copy&merge模式下,merge时过滤列名 connector.write.escape-string-value  否  sink配置,是否对string类型值进行转义,默认为false 其中标黄的三个参数会影响写入DWS的方式和性能。第四步:插入数据语句插入语句一般是insert into 目标表 select 业务逻辑 from源表 join 维表。三. 启动作业单击“启动”,进入“启动Flink作业”页面,确认作业规格和费用后,单击“立即启动”,启动作业。启动作业后,系统将自动跳转到Flink作业管理页面,新创建的作业将显示在作业列表中,在“状态”列中可以查看作业状态。作业提交成功后,状态将由“提交中”变为“运行中”。运行完成后显示“已完成”。如果作业状态为“提交失败”或“运行异常”,表示作业提交或运行失败。用户可以在作业列表中的“状态”列中,将鼠标移动到状态图标上查看错误信息,单击 可以复制错误信息。根据错误信息解决故障后,重新提交。
  • [实践系列] 【实践系列】GaussDB(DWS)存储过程中实现作业执行过程日志记录方法
    GaussDB(DWS)存储过程中实现作业执行过程日志记录方法具体示例如下:--存储过程日志记录--创建日志表create table fun_all_execute_log(id varchar2(32) default lower(sys_guid()),pro_name varchar2(60),patch_num int,log_date date,deal_date date,log_mesage text);--创建测试表和数据准备:create table test(no int,id int);insert into test select dbms_random.value(1,1000)::int,generate_series(1,100);--创建业务存储过程:CREATE OR REPLACE FUNCTION fun_affect_rows(out exe_info text)  LANGUAGE plpgsql  as $$  declare v_count int;  pro_result text;  fun_name   text;  patch_no   int;begin  fun_name := 'fun_affect_rows';  select nvl(max(patch_num), '0') + 1 into patch_no from fun_all_execute_log where pro_name = fun_name;  insert into test  values (dbms_random.value(1, 1000)::int,generate_series(1, dbms_random.value(10000, 20000)::int));  GET DIAGNOSTICS v_count = ROW_COUNT;  exe_info = sysdate || '# step1:本次插入数据量:' || v_count || '行。;';  delete from test where no = dbms_random.value(1, 1000)::int;  GET DIAGNOSTICS v_count = ROW_COUNT;  exe_info = exe_info || sysdate || '# step2:本次删除数据量:' || v_count || '行。;';  update test set id = dbms_random.value(1, 100)::int where no = dbms_random.value(1, 1000)::int and c1 = 0;  exe_info = exe_info || sysdate || '# step3:本次更新数据量:' || sql%rowcount || '行。';  RAISE INFO '本次信息为: %', exe_info;  insert into fun_all_execute_log(pro_name, patch_num, log_date, deal_date, log_mesage)  values (fun_name,patch_no,sysdate,split_part(regexp_split_to_table(exe_info, ';'), '#', 1),split_part(regexp_split_to_table(exe_info, ';'), '#', 2));EXCEPTION  WHEN OTHERS THEN    pro_result := exe_info || sysdate || '# z exception error message is: ' || sqlerrm;    insert into fun_all_execute_log(pro_name, patch_num, log_date, deal_date, log_mesage)    values(fun_name,patch_no,sysdate,split_part(regexp_split_to_table(pro_result, ';'), '#', 1),split_part(regexp_split_to_table(pro_result, ';'), '#', 2));END; $$;--调用存储过程select fun_affect_rows();--查询日志select * from fun_all_execute_log order by log_date desc,deal_date,log_mesage;转自:https://bbs.huaweicloud.com/blogs/195853
  • [分享驿站] GaussDB(DWS)免费试用第一天
    0元购买后,来创建集群,这个要选择免费规格 4C32G,鲲鹏的,标准数仓提交后,大概5分钟左右,集群就创建好了,包含3个节点主机然后是看下文档啥的给绑定一个公网IP,这样客户端可以通过公网连接上进行访问。因为之前有买鲲鹏的ECS,绑定过EIP,平时使用不频繁,所以辛苦点,先解绑EIP,再绑定到我的DWS好了,试一下Data Studio客户端连接:,这里也有命令行客户端,回头可以在我的鲲鹏ECS上试一下,或者是直接在DWS节点上使用?连接成功:好的开始。感觉还是比较顺利的,环境准备和配置不再痛苦~
  • [问题求助] 【XXX产品】【XXX功能】DWS实时数仓使用HCS部署依赖哪些服务
     请问,DWS实时数仓使用HCS部署依赖哪些服务?包括高级服务和基础服务,十分感谢!!!
总条数:2746 到第 页
上滑加载中