GaussDB(DWS)基于Flink的实时数仓构建
本文分享自华为云社区《GaussDB(DWS)基于Flink的实时数仓构建》,作者:胡辣汤。
大数据时代,厂商对实时数据分析的诉求越来越强烈,数据分析时效从T+1时效趋向于T+0时效,为了给客户提供极速分析查询能力,华为云数仓GaussDB(DWS)基于流处理框架Flink实现了实时数仓构建。在本期《GaussDB(DWS)基于Flink的实时数仓构建》的主题直播中,华为云数仓GaussDB(DWS)解决方案专家Eric老师,为您深度解析GaussDB(DWS)+Flink如何增强湖仓增量数据在不同数据模型层之间的实时流动能力,如何为消息数据流提供高性能通用入库能力,又如何构建极致的端到端实时数仓解决方案。
1、增量计算的背景
随着数智化时代的到来,数据量不断增长,为了充分挖掘数据价值,实时获取数据动态,GaussDB(DWS)通过与流引擎Flink结合,优化ETL Pipeline,从而数据分析时效实现T+0。
Flink是一款开源的流处理框架,它能够实时处理大规模数据流,并具有高可靠性和高性能的特点。Flink支持流式数据处理、批处理和图形处理等多种计算模式,并提供了丰富的API和工具,可以方便地进行数据处理和分析。GaussDB(DWS)与Flink结合构建下一代Stream Warehouse,实现增量计算,可以为用户提供更加全面、高效的数据处理和分析能力。
为什么需要增量计算能力?增量计算能力解决了哪些场景的痛点问题?
- 高性能场景
一些需要高性能的典型场景如下:
(1)增量数据的实时ETL并更新物化视图,秒级更新;
(2)数据在仓湖之间实时流动能力;
(3)实时流数据不落盘,直达实时大屏。
- 数据入库场景
Kafka的数据直接入湖
2、GaussDB(DWS)+Flink实现增量计算的架构设计
GaussDB(DWS)与流引擎结合,实现企业数仓模型的分层、增量化加工,统一批流处理逻辑,一站式支持批、流、交互式、点查等多种场景,简化数据生产线架构复杂度,构建新一代实时增量数仓,满足企业日趋便捷化的数据生产线场景。
三大实时能力 | GaussDB(DWS) | Flink |
实时入出仓 | 提升入库性能,支持Binlog表CDC功能,实现 “流表一体” | GaussDB(DWS)对接Flink元数据,GaussDB(DWS)可以作为Flink的源表、结果表 |
实时增量加工 | 支持基于数据流表达的增量加工 | 复杂SQL下推GaussDB(DWS),流表关联,多流关联等 |
实时查询 | 支持数据高效点查 | GaussDB(DWS)对接Flink元数据,GaussDB(DWS)可以作为Flink的维表,支持维表点查 |
如下图,增量数据可以被流引擎实时地感知捕获到,并运行预置的增量计算任务,然后再写回到数仓的下一层模型里面。通过几次流引擎的迭代,使得贴源层的增量数据能迅速的反映到明细层以及最终的集市层,来支撑实时的BI报表分析、交互式分析等业务场景。
3、 GaussDB(DWS)+Flink增量计算能力图介绍
GaussDB(DWS)结合Flink的能力构建,涵盖以下四大功能:
Catalog
打通Flink元数据与湖仓元数据。
Source
仓内表通过Binlog将增量数据暴露出来让Flink及时感知,从而驱动实时增量数据运算任务的开始。
Source connector算子,可以将一些条件下推至仓中完成点查任务。
Sink
Sink connector算子可以将job中的数据写回数仓中。
流维
流维算子提供了流数据关联维表的能力。
GaussDB(DWS)结合Flink的非功能性构建:
- CKPT建设
每个算子implements flink的指定接口,将计算中间结果持久化下去,并做到功能幂等,即可接入flink灾难恢复处理能力,做到job的端到端数据exactly once。
4、 生态工具streamer介绍
为了便于用户一键操作数据入库,GaussDB(DWS)研发了streamer生态工具,用户不再需要自己写SQL,只需要在IDE中进行操作。
操作步骤如下:
第一步:配置kafka及数仓表。
第二步:创建POJO类分别对应kafka消息体及数仓表行数据。
第三步:编写自定义算子,实现自定义Mapping功能。系统提供默认1对1 Mapping算子,可直接使用。
本期分享到此结束,更多关于GaussDB(DWS)产品技术解析、数仓产品新特性的介绍,请关注GaussDB(DWS)开发者平台,GaussDB(DWS)开发者平台为开发者们提供最新、最全的信息咨询,包括精品技术文章、最佳实践、直播集锦、热门活动、海量案例、智能机器人。让您学+练+玩一站式体验GaussDB(DWS)。
GaussDB(DWS)开发者平台链接:https://bbs.huaweicloud.com/contents/dws/learning.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
K8s集群nginx-ingress监控告警最佳实践
本文分享自华为云社区《K8s集群nginx-ingress监控告警最佳实践》,作者:可以交个朋友。 一 背景 nginx-ingress作为K8s集群中的关键组成部分。主要负责k8s集群中的服务发布,请求转发等功能。如果在访问服务过程中出现404和502等情况,需要引起注意。 二 方案简介 可以通过CCE集群插件kube-prometheus-stack进行nginx-ingress服务的指标监控,Grafana仪表盘视图可以自己制作或者导入开源模板,方便时刻观察nginx-ingress的各项运行指标是否处于健康状态。 CCE Prometheus监控指标数据统一remotewrite到华为云AOM2.0服务,可以在AOM2.0服务中展示Prometheus采集的指标数据,并根据业务实际诉求,实现基于指标的的告警通知。 CCE监控插件对接AOM: AOM查看nginx-ingress 三 nginx-ingress关键指标 确保Prometheus已成功抓取nginx-ingress指标 nginx-ingress配置热加载失败次数count(nginx_ingress_contro...
- 下一篇
华为云CodeArts IDE For Python 快速使用指南
本文分享自华为云社区《华为云CodeArts IDE For Python 快速使用指南》,作者:为云PaaS服务小智。 CodeArts IDE 带有 Python 扩展,为 Python 语言提供了广泛的支持。Python 扩展可以利用 CodeArts IDE 的代码补全、验证、调试和单元测试等特性,与多种 Python 解释器协同工作,轻松切换包括虚拟环境和 conda 环境的 Python 环境。本文简要概述了 CodeArts IDE 中为 Python 提供的特性。在 CodeArts IDE 上开始使用 Python 前,请确保您在计算机上已安装了 Python。 一、新建Python项目 CodeArts IDE 提供了一个 Python 项目向导,帮助您更轻松地创建新项目并配置环境。 步骤1在主菜单中,选择文件>新建>工程。 步骤2在打开的“新建工程”对话框中,从左侧列表选择“Python“,填入项目参数。 设置项目名称和路径。 在“新环境使用“的下拉框中选择使用“Virtualenv“选项,让CodeArts IDE 为您创建一个隔离的、特定于项目的 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题