DWS实时数仓
GaussDB(DWS)场景与案例 GaussDB(DWS)场景与案例 标准数仓、实时数仓、云数仓等多种产品形态,覆盖政府、金融、企业、教育、通信、互联网等各种行业的各种应用场景。 标准数仓、实时数仓、云数仓等多种产品形态,覆盖政府、金融、企业、教育、通信、互联网等各种行业的各种应用场景。
打开华为云网站,单击”注册“,根据提示信息完成注册,注册成功后,按指引完成个人或企业实名认证。 02 创建集群 针对不同分析场景和业务规模,可以选择标准数仓、实时数仓和IoT数仓,并选择合适的数据存储容量。为了保证业务连接无单点断连风险,需搭配弹性负载均衡ELB一起使用。 03 连接集群 支持多种连接方式
湖内数据全触达,实现湖、仓、智融合统一。 LakeFormation服务是数智融合的关键基础设施,帮助客户简单高效完成数智融合一体化解决方案搭建,为客户提供多种引擎元数据统一管理、统一权限控制、统一事务的能力,保障云原生数据湖内数据和模型自由流转,湖内数据全触达,实现湖、仓、智融合统一。
数据仓库服务 GaussDB(DWS)数据导入导出 GaussDB(DWS)支持多种类型数据源,面向不同场景,提供全系列数据导入导出方案,搭建高效数据通道。 导入导出工具系列 如表3-1所示,GaussDB(DWS)提供了一系列数据导入导出工具,可根据场景不同选择合适的工具。 表3-1
数据仓库服务 GaussDB(DWS)兼容性 GaussDB(DWS)采用开放性的设计理念,不但支持标准数仓功能,还致力于融合大数据平台、与云原生服务互联互通。 无缝对接Hadoop GaussDB(DWS)可以无缝对接HDFS存储,通过外表机制,能够交互式查询分析Hadoop平
对象存储服务(OBS)的计费规则进行计费。 免费空间大小是您的集群的总存储空间大小,即单节点存储空间大小 x 节点数。 标准数仓存储 用户在可选范围内自定义集群使用的存储类型与存储容量,采用存储资源独立计费的方式。 冷数据存储 冷数据采用OBS存储性价比高,按需或包周期集群均使用按需计费,无需提前购买。
执行计划等。 3)GDS工具 它是GaussDB(DWS)提供的数据服务工具,通过和外表机制的配合,实现数据的高速导入导出。 GDS工具包需要安装在数据源文件所在的服务器上,数据源文件所在的服务器称为数据服务器,也称为GDS服务器。 4)DSC SQL语法迁移工具 DSC(Database
云数据仓库 GaussDB(DWS) 资源 云数据仓库 GaussDB(DWS) 资源 新一代、全场景数据仓库,一站式分析,性能、容量无限扩展,守护高价值数据、创享高价值分析,企业数字化转型坚实伙伴 新一代、全场景数据仓库,一站式分析,性能、容量无限扩展,守护高价值数据、创享高价值分析,企业数字化转型坚实伙伴
数据仓库服务 GaussDB(DWS)备份恢复 GaussDB(DWS)提供了多层次、多类型的备份/恢复方案,无惧误删,让您的数据更安全。 技术特点: 支持多种介质 支持备份集群数据库到磁盘、OBS、爱数、NBU等多种存储方式。 支持全量+增量备份 支持全量物理备份,差异增量,累积增量等多种类型备份。
⽣态,提供全⾯向量化引擎、CBO优化器、多种数据源联邦查询等重要特性。AtomData 致⼒于在全场景 OLAP 业务上为⽤户提供统⼀的解决⽅案,适⽤于对性能、实时性、并发能⼒和灵活性有较⾼要求的场景。 ⽬前 AtomData 已在多个⾏业落地,在⾃助数据分析、实时数仓、⽤户画像、实时⻛控、订单分
时长7天,每班最大人数20人 华为云原厂服务:萃取华为全球项目经验,深度洞察企业上云与人员技术能力提升需求 , E2E实训环境:理论培训与真实云环境实操演练相结合,助力学员实操能力提升 ,培训与认证体系:分层级分角色的认证体系,为从业者提供广阔的职业选择与清晰的职业发展路径 ,新
语法协议,可以与 Doris 互相自由迁移数据。持续与国内外生态产品和工具兼容互认证。与国内外云厂商开放合作,产品运行在多云之上,提供一致的使用体验。 安全稳定在数据安全方面,提供完备的权限管控、数据加密和备份恢复等机制;在运维管理方面,提供对数仓服务全面的可观测性指标收集和可视化管理;
DWS.DCS设计云系统是一个高度集成且协同化的研发管理系统,通过平台的建设可为用户单位提供精准定位连接内部研发所需的图形硬件支撑资源(工作站/图形服务器)、三维应用工具软件,用户无论身处何地,都能轻松访问平台,进行高质量的三维设计业务开展产品功能:戴西DWS.DCS设计云系统是
戴西DWS数字化研发平台是一种综合性数字化研发解决方案,由戴西软件结合15年经验自主研发,面向于工业制造业各企业提供集设计、仿真、数据、试验、流程、许可、知识、文档管理、协同研发流程等一体化的可定制化数字化方案服务。产品功能:戴西DWS数字化研发平台主要功能涵盖统一门户、统一用户
、信用服务开放平台、大数据分析应用平台,提供政务信用监管服务、公共信用开放服务和大数据分析应用服务;建设应用支撑平台,为各应用系统资源共享、业务访问、业务集成、安全、可信和可管理等问题的解决提供有效手段。各规格提供的功能服务如下:1.【信用信息基础服务-包年】功能包括:数据采集、信用网站、后台管理。2
云仓系统可基于鲲鹏云服务器进行部署,是一套仓库精细化管理系统,精确管理物料在收、发、转、装等环节准确的信息以及质量管控,帮助企业打造数字化、透明化仓储。云仓系统可基于鲲鹏云服务器进行部署,是一套仓库精细化管理系统,精确管理物料在收、发、转、装等环节准确的信息以及质量管控,通过对仓
DataPipeline企业级实时数据融合平台通过多种实时数据技术协助用户构建以业务目标为导向的数据链路,支持广泛的数据节点类型,按需快速定制、部署、执行数据任务。DataPipeline实时数据产品矩阵利用实时数据融合打破技术壁垒,让客户专注数据价值释放。不仅支持数据迁移,应用数据集成,主数据管理,业
line涵盖基础数据库、大数据、云以及GaussDB。基础数据库模块:支持全面的数据节点类型,覆盖各类关系型数据库、NoSQL 数据库和国产数据库。大数据模块:支持全面的数据节点类型,覆盖大数据平台、消息队列、文件系统、API 等数据类型。云模块:支持全面的数据节点类型,可用于各
时序生态函数等服务功能,基于时序表提供时序计算能力。 demo体验 立即购买 IoT数仓与标准数仓的区别 GaussDB(DWS)中的IoT数仓与标准数仓是两种不同类型产品,在使用上也存在一定差异,具体可参考表1进行对比分析。 表1 IoT数仓与标准数仓的差异 数仓类型 适用场景
GaussDB(DWS)功能与体验 实时、批量和交互式查询一站式分析,一套架构支撑标准数仓、实时数仓、云数仓,快速部署,极简易用,助力数字化转型。 功能总览 企业级数据仓库和标准SQL的支持,多样化的数据导入方式应用,支持调用ODBC/JDBC等接口,支持多种数据库工具。 价格详情
这些角色的权限。 查看更多 实现数据列的加解密 数据加密作为有效防止未授权访问和防护数据泄露的技术,在各种信息系统中广泛使用。作为信息系统的核心,GaussDB(DWS)数仓支持使用SQL函数加密。 查看更多 用户管理实践 GaussDB(DWS)集群中,常用的用户分别是系统管理
数据仓库服务迁移类型 数仓类型 适用场景 产品优势 功能特点 从OBS并行导入数据 OBS 支持将存储在OBS上的TXT、CSV、ORC及CARBONDATA格式的数据并行导入到GaussDB(DWS),支持导入后查询数据,也支持远程读OBS上的数据。 GaussDB(DWS)优先推荐的导入方式。 并行拉取方式,性能好,横向扩展。
更多精选文章推荐 什么是数据仓库服务GaussDB(DWS) 什么是DWS的IoT数仓 DWS有哪些连接工具和数据迁移工具 DWS数据库监控DMS介绍 GaussDB(DWS)的SQL on Anywhere Gauss(DWS)数据库加解密 GaussDB(DWS)常用SQL GaussDB(DWS)安全管理
如何调用GuassDB(DWS) API接口示例 精选文章推荐 DWS产品介绍_DWS产品优势_DWS功能 云服务器是什么? 对象存储OBS产品介绍 学习区块链技术 数据仓库服务迁移类型有哪些? 数据仓库服务_SQL on Anywhere GaussDB(DWS)安全管理 DWS如何保障数据库安全?
WTP数字仓库实训平台,企业员工可以学习和掌握智慧物流数字化实践技能。这些技能包括数字化仓库管理、智能物流系统操作等,有助于提高企业的物流效率和管理水平。3. 服务于智慧物流实训课程:Arpa WTP数字仓库实训平台可以作为《仓储管理》等智慧物流实训课程的辅助工具。通过平台的实训内容
SQL作业的开发指南 从Kafka读取数据写入到DWS 汽车驾驶的实时数据信息为数据源发送到Kafka中,再将Kafka数据的分析结果输出到DWS中。 汽车驾驶的实时数据信息为数据源发送到Kafka中,再将Kafka数据的分析结果输出到DWS中 从Kafka读取数据写入到DWS PostgreSQL
需求进行定制化配置,提供更加贴合客户实际情况的解决方案。4. 强大的数据分析能力:深拓WMS系统具有强大的数据分析能力,可以对仓库运营数据进行深度分析和挖掘,帮助客户了解仓库运营情况、优化仓库布局和流程,提高仓库的运作效率和管理水平。5. 多终端支持:深拓WMS系统支持多种终端设
DWS实时数仓
功能描述
创建DWS表用于与输入流连接,从而生成相应的宽表。
前提条件
注意事项
创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要选择“1.12”,勾选“保存作业日志”并设置保存作业日志的 OBS 桶,方便后续查看作业日志。
语法格式
1 2 3 4 5 6 7 8 9 10 11 |
create table dwsSource ( attr_name attr_type (',' attr_name attr_type)* ) with ( 'connector' = 'gaussdb', 'url' = '', 'table-name' = '', 'username' = '', 'password' = '' ); |
参数说明
参数 |
是否必选 |
默认值 |
数据类型 |
说明 |
---|---|---|---|---|
connector |
是 |
无 |
String |
connector类型,需配置为'gaussdb'。 |
url |
是 |
无 |
String |
jdbc连接地址。 使用gsjdbc4驱动连接时,格式为:jdbc:postgresql://${ip}:${port}/${dbName} 。 使用gsjdbc200驱动连接时,格式为:jdbc:gaussdb://${ip}:${port}/${dbName}。 |
table-name |
是 |
无 |
String |
读取数据库中的数据所在的表名。 |
driver |
否 |
无 |
String |
jdbc连接驱动,默认为: org.postgresql.Driver。
|
username |
否 |
无 |
String |
数据库认证用户名,需要和'password'一起配置。 |
password |
否 |
无 |
String |
数据库认证密码,需要和'username'一起配置。 |
scan.partition.column |
否 |
无 |
String |
用于对输入进行分区的列名。 与scan.partition.lower-bound、scan.partition.upper-bound、scan.partition.num必须同时存在或者同时不存在。 |
scan.partition.lower-bound |
否 |
无 |
Integer |
第一个分区的最小值。 与scan.partition.column、scan.partition.upper-bound、scan.partition.num必须同时存在或者同时不存在。 |
scan.partition.upper-bound |
否 |
无 |
Integer |
最后一个分区的最大值。 与scan.partition.column、scan.partition.lower-bound、scan.partition.num必须同时存在或者同时不存在。 |
scan.partition.num |
否 |
无 |
Integer |
分区的个数。 与scan.partition.column、scan.partition.upper-bound、scan.partition.upper-bound必须同时存在或者同时不存在。 |
scan.fetch-size |
否 |
0 |
Integer |
每次从数据库拉取数据的行数。默认值为0,表示不限制。 |
scan.auto-commit |
否 |
true |
Boolean |
设置自动提交标志。 它决定每一个statement是否以事务的方式自动提交。 |
lookup.cache.max-rows |
否 |
无 |
Integer |
维表配置,缓存的最大行数,超过该值时,最先添加的数据将被标记为过期。 默认表示不使用该配置。 |
lookup.cache.ttl |
否 |
无 |
Duration |
维表配置,缓存超时时间,超过该时间的数据会被剔除。格式为:{length value}{time unit label},如123ms, 321s,支持的时间单位包括: d,h,min,s,ms等,默认为ms。 默认表示不使用该配置。 |
lookup.max-retries |
否 |
3 |
Integer |
维表配置,数据拉取最大重试次数。 |
pwd_auth_name |
否 |
无 |
String |
DLI侧创建的Password类型的跨源认证名称。 使用跨源认证则无需在作业中配置账号和密码。 |
示例
从Kafka源表中读取数据,将DWS表作为维表,并将二者生成的宽表信息写入Kafka结果表中,其具体步骤如下:
- 参考增强型跨源连接,在DLI上根据DWS和Kafka所在的虚拟 私有云 和子网分别创建相应的增强型跨源连接,并绑定所要使用的Flink弹性资源池。
- 设置DWS和Kafka的安全组,添加入向规则使其对Flink的队列网段放通。参考测试地址连通性分别根据DWS和Kafka的地址测试队列连通性。若能连通,则表示跨源已经绑定成功,否则表示未成功。
- 连接DWS数据库实例,在DWS中创建相应的表,作为维表,表名为area_info,SQL语句如下:
create table public.area_info( area_id VARCHAR, area_province_name VARCHAR, area_city_name VARCHAR, area_county_name VARCHAR, area_street_name VARCHAR, region_name VARCHAR);
- 连接DWS数据库实例,向DWS维表area_info中插入测试数据,其语句如下:
insert into area_info (area_id, area_province_name, area_city_name, area_county_name, area_street_name, region_name) values ('330102', 'a1', 'b1', 'c1', 'd1', 'e1'), ('330106', 'a1', 'b1', 'c2', 'd2', 'e1'), ('330108', 'a1', 'b1', 'c3', 'd3', 'e1'), ('330110', 'a1', 'b1', 'c4', 'd4', 'e1');
- 参考创建Flink OpenSource作业,创建flink opensource sql作业,输入以下作业运行脚本,提交运行作业。该作业脚本将Kafka作为数据源,DWS作为维表,数据输出到Kafka结果表中。
注意:创建作业时,在作业编辑界面的“运行参数”处,“Flink版本”选择“1.12”,勾选“保存作业日志”并设置保存作业日志的OBS桶,方便后续查看作业日志。如下脚本中的加粗参数请根据实际环境修改。
CREATE TABLE orders ( order_id string, order_channel string, order_time string, pay_amount double, real_pay double, pay_time string, user_id string, user_name string, area_id string, proctime as Proctime() ) WITH ( 'connector' = 'kafka', 'topic' = 'KafkaSourceTopic', 'properties.bootstrap.servers' = 'KafkaAddress1:KafkaPort,KafkaAddress2:KafkaPort', 'properties.group.id' = 'dws-order', 'scan.startup.mode' = 'latest-offset', 'format' = 'json' ); --创建地址维表 create table area_info ( area_id string, area_province_name string, area_city_name string, area_county_name string, area_street_name string, region_name string ) WITH ( 'connector' = 'gaussdb', 'driver' = 'org.postgresql.Driver', 'url' = 'jdbc:gaussdb://DwsAddress:DwsPort/DwsDbName', 'table-name' = 'area_info', 'username' = 'DwsUserName', 'password' = 'DwsPassword', 'lookup.cache.max-rows' = '10000', 'lookup.cache.ttl' = '2h' ); --根据地址维表生成详细的包含地址的订单信息宽表 create table order_detail( order_id string, order_channel string, order_time string, pay_amount double, real_pay double, pay_time string, user_id string, user_name string, area_id string, area_province_name string, area_city_name string, area_county_name string, area_street_name string, region_name string ) with ( 'connector' = 'kafka', 'topic' = 'KafkaSinkTopic', 'properties.bootstrap.servers' = 'KafkaAddress1:KafkaPort,KafkaAddress2:KafkaPort', 'format' = 'json' ); insert into order_detail select orders.order_id, orders.order_channel, orders.order_time, orders.pay_amount, orders.real_pay, orders.pay_time, orders.user_id, orders.user_name, area.area_id, area.area_province_name, area.area_city_name, area.area_county_name, area.area_street_name, area.region_name from orders left join area_info for system_time as of orders.proctime as area on orders.area_id = area.area_id;
- 连接Kafka集群,向kafka中source topic中插入如下测试数据:
{"order_id":"202103241606060001", "order_channel":"appShop", "order_time":"2021-03-24 16:06:06", "pay_amount":"200.00", "real_pay":"180.00", "pay_time":"2021-03-24 16:10:06", "user_id":"0001", "user_name":"Alice", "area_id":"330106"} {"order_id":"202103251202020001", "order_channel":"miniAppShop", "order_time":"2021-03-25 12:02:02", "pay_amount":"60.00", "real_pay":"60.00", "pay_time":"2021-03-25 12:03:00", "user_id":"0002", "user_name":"Bob", "area_id":"330110"} {"order_id":"202103251505050001", "order_channel":"qqShop", "order_time":"2021-03-25 15:05:05", "pay_amount":"500.00", "real_pay":"400.00", "pay_time":"2021-03-25 15:10:00", "user_id":"0003", "user_name":"Cindy", "area_id":"330108"}
- 连接Kafka集群,读取kafka中sink topic中数据,结果参考如下:
{"order_id":"202103241606060001","order_channel":"appShop","order_time":"2021-03-24 16:06:06","pay_amount":200.0,"real_pay":180.0,"pay_time":"2021-03-24 16:10:06","user_id":"0001","user_name":"Alice","area_id":"330106","area_province_name":"a1","area_city_name":"b1","area_county_name":"c2","area_street_name":"d2","region_name":"e1"} {"order_id":"202103251202020001","order_channel":"miniAppShop","order_time":"2021-03-25 12:02:02","pay_amount":60.0,"real_pay":60.0,"pay_time":"2021-03-25 12:03:00","user_id":"0002","user_name":"Bob","area_id":"330110","area_province_name":"a1","area_city_name":"b1","area_county_name":"c4","area_street_name":"d4","region_name":"e1"} {"order_id":"202103251505050001","order_channel":"qqShop","order_time":"2021-03-25 15:05:05","pay_amount":500.0,"real_pay":400.0,"pay_time":"2021-03-25 15:10:00","user_id":"0003","user_name":"Cindy","area_id":"330108","area_province_name":"a1","area_city_name":"b1","area_county_name":"c3","area_street_name":"d3","region_name":"e1"}
常见问题
- Q:若Flink作业日志中有如下报错信息,应该怎么解决?
java.io.IOException: unable to open JDBC writer ... Caused by: org.postgresql.util.PSQLException: The connection attempt failed. ... Caused by: java.net.SocketTimeoutException: connect timed out
A:应考虑是跨源没有绑定,或者跨源没有绑定成功。- 参考增强型跨源连接章节,重新配置跨源。参考DLI跨源连接DWS失败进行问题排查。
- Q:如果该DWS表在某schema下,则应该如何配置?
A:如下示例是使用schema为dbuser2下的表area_info:
--创建地址维表 create table area_info ( area_id string, area_province_name string, area_city_name string, area_county_name string, area_street_name string, region_name string ) WITH ( 'connector' = 'gaussdb', 'driver' = 'org.postgresql.Driver', 'url' = 'jdbc:postgresql://DwsAddress:DwsPort/DwsDbname', 'table-name' = 'dbuser2.area_info', 'username' = 'DwsUserName', 'password' = 'DwsPassword', 'lookup.cache.max-rows' = '10000', 'lookup.cache.ttl' = '2h' );
DWS实时数仓常见问题
更多常见问题 >>-
GaussDB(DWS)的IoT数仓提供自研的时序引擎,提供扩展的时序场景语法,以及分区管理、时序计算、时序生态函数等服务功能,基于时序表提供时序计算能力。
-
GaussDB(DWS)应用场景-实时数据分析的介绍。
-
DWS数据库内核使用华为自主研发的GaussDB数据库,兼容PostgreSQL 9.2.4的数据库内核引擎,从单机OLTP数据库改造为企业级MPP(大规模并行处理)架构的OLAP分布式数据库,其主要面向海量数据分析场景。
-
数据仓库服务(Data Warehouse Service,简称DWS)是一种基于公有云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。DWS是基于华为融合数据仓库GaussDB产品的云原生服务,兼容标准ANSI SQL 99和SQL 2003,同时兼容PostgreSQL/Oracle数据库生态,为各行业PB级海量大数据分析提供有竞争力的解决方案。
-
存储大量数据的集成中心。BI/DWH,分别指business intelligence和Data Ware House,对于运营商需要在大量的用户数据存储基础上分析客户,做商业智能分析。
-
新一代、全场景数据仓库,一站式分析,性能、容量无限扩展。守护高价值数据、创享高价值分析,企业数字化转型坚实伙伴。 DWS可靠保护数据库中存储的数据,确保数据安全、完整、可用。
更多相关专题
增值电信业务经营许可证:B1.B2-20200593 | 域名注册服务机构许可:黔D3-20230001 | 代理域名注册服务机构:新网、西数