[建议收藏] Mysql+ETLCloud CDC+Doris实时数仓同步实战

news2024/11/18 0:00:27

一、业务需求及其痛点

随着数字化转型,企业需要对各种销售及营销数据进行实时同步分析,例如销售订单信息,库存信息,会员信息,设备状态信息等等,这些统计分析信息可以实时同步到 Doris中进行分析和统计,Doris作为分析型数据库特别适合于对海量数据的存储和分析,我们只需要把MySQL的表单数据实时同步到Doris即可以实现实时数据分析能力。

二、Apache Doris介绍

Apache Doris 是一个现代化的 MPP 分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris 的分布式架构非常简洁,易于运维,并且可以支持 10PB 以上的超大数据集。

Apache Doris 可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。可以使数据分析工作更加简单高效!

三、MySQL CDC实时同步工具选型

目前能免费使用的成熟CDC工具且同时支持MySQL+Doris的有Flink CDC和ETLCloud CDC等,这里我们主要考虑比较流行的Flink CDC和ETLCloud CDC,CDC的同步原理其实不同平台的原理都是一样的,都是读取数据库log然后通过清洗、转换或计算后存入目标仓库中

Flink CDC安装和使用难度比较大,没有可视化的CDC配置和监控界面对于不熟的用户安装相对比较麻烦,对于实时数据的加工和处理还需要写代码,没一点技术的用户根据搞不定,对于数据工程师来说难度太大

ETLCloud CDC安装和使用相对容易基本上半小时就安装上了,安装完成后提供全WEB配置界面,对于用户可以说是非常友好,我们这里选择ETLCloud CDC来实现实时数仓的构建

四、怎么提升写入Doris的性能?

Doris兼容MySQL协议但是直接用jdbc写入doris的速度是非常慢基本不可用,所以必须要采用Doris提供的Stream load方式来进行数据的载入才能提升速度

ETLCloud CDC提供了专门针对Doris的高性能输出组件,还支持自动创建表结构同时支持批量加载技术

五、数据写入Doris之前如何直接转换为宽表?

通常情况下我们使用CDC实时监听表销售或订单表数据的LOG时会形成流式的数据,CDC每次传入的数据有可能是一条也可能是多条,监听到的流式数据都是订单表的单条数据,但在业务上单表的数据在业务价值上可能缺少一些关键的维度业务数据字段,例如要计算毛利合并客户及产品数据等。

为了补充这些缺少的数据字段之前的做法是先让他入库,然后再用SQL语句或者ETL流程再给他变换一次形成我们需要的宽表数据,虽然这样也可以实现这个业务需求但是失去了数据处理的时效性,即本来是实时流的数据但是到了业务那里变成不是实时的了,因为我们中间有一个定时变换的数据过程。

通过ETLCloud的ETL功能可以轻松实现实时数据直接变为宽表数据存入到Doris中

(单表实时流合并其他维度数据直接输出宽表数据到Doris中)

六、ETLCloud CDC同步原理

ETLCloud CDC的功能之所有比其他CDC工具都强大是因为他把CDC和ETL流程给链接起来了,CDC实时数据流入ETL流程中,再通过ETL流程对实时数据进行处理和输出。

七、ETLCloud CDC中配置MySQL表的监听

MySQL先要开启bing log功能,开启方式可以查看MySQL的binlog打开方法

开启动我们进入到ETLCloud的实时数据集成页面中配置一下即可

新增一个mysql cdc监听器

选择要监听mysql的表,这里我们选择监听country表

目标我们选择传给ETL的流程,ETL的流程会把数据写入到Doris中

在离线集成中我们新建一个Doris输出的ETL流程

离线ETL流程很简单,只需要拉入一个Doris的输出组件即可

选中Doris数据源和Doris的数据库表,数据源在ETLCloud中已经提前建好

导入Doris表中的所有字段

这样CDC+ETL就完成了mysql=>doris的实时同步任务的创建

八、启动MySQL CDC监听器

进入ETLCloud的实时数据集成功能点击启动CDC监听器即可

启动成功显示为绿色,如果出错可以查看tomcat log看是什么原因引起的

表示监听器已经启动成功

九、先清空Doris中已有表中的数据

Doris中先把country表清空,这样我们好观测当mysql中有数据变动时可以实时同步到doris中

十、开始实时同步数据

在mysql右我们country表中的数据如下

我们可以随意修改其中几条数据,可以看到数据会立即同步到Doris中

我们在mysql中实时修改了3条数据,可以看到doris中已经立即有3条数据同步过来

同时我们也可以去观察ETL的离线流程是不是被CDC给调用了

可以看到我们修改了3条数据,这个ETL流程被调用了3次,通过这个ETL流程把数据写入到了doris中

十一、Doris中自动建表

ETLCloud还具备在Doris中自动建表功能,如果我们要一次性把MySql的1000张表全部同步到Doris中,就可以使用批量同步功能,可以一次性把MySQL的1000张表自动在Doris中创建并全部同步数据到Doris中,这个也是Flink CDC所不具备的功能。

这们就可以把业务数据一次性全部拉入到Doris数仓中

Doris自动建表能力

十二、ETLCloud介绍


ETLCloud是一款零代码ETL工具,可以快速对接上百种数据源和应用系统,无需编码即可快速完成数据同步和传输,企业IT人员只需简单几步即可快速完成各种数据抽取同步并配合BI工具实现数据的统计分析。

 (ETLCloud可视化流程同步界面)

ETLCloud社区版本永久免费下载使用  ETLCloud数据集成社区
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/670510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搜索跳出率:了解并优化用户体验

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是搜索跳出率&…

【Linux编辑器-vim使用】

目录 Linux编辑器-vim使用1.vim的基本概念2.vim的基本操作3.vim正常模式命令集4.vim末行模式命令集 Linux编辑器-vim使用 1.vim的基本概念 目前了解的vim有三种模式(其实有好多模式),分别是命令模式、插入模式和底行模式,各模式…

Midjourney如何用参考图/垫图来绘画图

大家都知道AI绘画工具每次生成的效果都是随机的,但是现在很多AI绘图工具都提供了利用参考图/垫图的方式出图,这样就可以让让AI画作生成自己想要的布局、场景、色彩等等。 国内的AI绘图工具一般都好操作,国外主流的Midjourney也可以添加参考图…

ChatGPT/GPT-4 或将从根本上改变软件工程

文章目录 一、前言二、主要内容 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 编程也可能是最容易被 AI 技术取代的工作之一,软件的构建方式将产生根本性的转变。 今年以来,相信大家都听说过 ChatGPT、New Bing 和…

8.5 字节序及IP地址转换

目录 主机字节序和网络字节序 什么是字节序? 字节序转换函数 IP地址字节序转换函数 主机字节序和网络字节序 什么是字节序? 字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序,分为: 大端字节序 (Big …

药物 3D 打印新突破:圣地亚哥大学用机器学习筛选喷墨打印生物墨水,准确率高达 97.22%

内容一览:药物喷墨打印是一种高度灵活和智能化的制药方式。据相关报告统计,该领域市场规模将在不久的未来呈现指数级增长。过往,筛选合适生物墨水的方法费时且费力,因此也成为药物喷墨打印领域面临的主要挑战之一。为解决这一问题…

开启你的时间序列分析之旅:一步步教你学会HyperTS

目录 前言一、HyperTS介绍二、HyperTS安装、使用2-1、安装2-2、HyperTS使用 三、案例3-0、通用工作流程3-1、时间序列预测3-2、时间序列分类3-3、时间序列异常检测 四、高级应用4-1、模型的保存和加载 总结 前言 HyperTS是一个开源的时间序列分析库,主要用于处理和分…

K8S 云集群安装纯享版 - 傻瓜式一键教程 全自动脚本文件

引言: 用的云服务器,整个过程读者还是需要准备些软妹币的… 另外众所周知,K8S最难的部分是什么?——是安装。。。 目录 0. 技术选型( :bell: 重要!)0.0 version0.1 云服务器 1. 容器运行时2. k8s 安装前准备2.0 网络连…

【计算机视觉】CVPR 2023 上的分割论文真的是神仙打架(介绍前12篇,图像分割,全景分割,语义分割,实例分割)

文章目录 一、图像分割类1.1 AutoFocusFormer: Image Segmentation off the Grid1.2 FreeSeg: Unified, Universal and Open-Vocabulary Image Segmentation1.3 Parameter Efficient Local Implicit Image Function Network for Face Segmentation 二、全景分割类2.1 You Only …

CUDA介绍

CUDA introduction 文章目录 CUDA introduction异构计算架构典型的CUDA程序的执行流程函数类型限定词Kernel 线程层次结构线程ID号计算: Example加法实例托管内存乘法 性能分析工具 Nsight System功能用法 Reference欢迎关注公众号【三戒纪元】 异构计算架构 GPU并…

SIFT算法简介

参考资料 SIFT文献-David-UBC: 《Distinctive Image Features from Scale-Invariant Keypoints》SIFT算法介绍: SIFT特征详解 - Brook_icv - 博客园 (cnblogs.com) 简介 Scale-invariant feature transform 尺度不变特征变换 SIFT算法不仅只有尺度不…

腾讯安全杨光夫:企业需改变“头痛医头”现状,构建持续进化的安全免疫力

6月13日,腾讯安全联合IDC发布“数字安全免疫力”模型框架,主张将守护企业数据和数字业务两大资产作为企业安全建设的核心目标。腾讯安全副总裁杨光夫在《助力企业持续进化安全免疫力》的主题演讲中表示,在新业态、新威胁、新场景、强监管下&a…

【MySQL】MVCC是如何解决快照读下的幻读问题的

文章目录 LBCC当前读 MVCC隐藏列undo logRead View 总结 我们从上文中了解到InnoDB默认的事务隔离级别是repeatable read(后文中用简称RR),它为了解决该隔离级别下的幻读的并发问题,提出了LBCC和MVCC两种方案。其中LBCC解决的是当…

StarRocks 统一 OLAP 引擎在滴滴的探索实践

作者:余辉,滴滴出行 OLAP 团队负责人/专家工程师;李明皇,滴滴出行高级软件开发工程师 发展历程 滴滴的 OLAP 系统早期由用于实时监控系统的 Apache Druid (以下简称 Druid)和离线加速使用的 Apache Kylin&a…

随风摇曳的她——美蕨(matlab实现)

目录 1 随风摇曳的她 2 摇曳带来的哲思 3 Matlab代码实现 1 随风摇曳的她 梦幻的场景、浪漫的气息,带上心爱的人,拥抱在这片花海之下,便有了电影男女主角的氛围感; 就算阅尽了世间风貌,也抵不上和她在一起时锦短情长&a…

Idea批量删除空行

1.在编辑框中使用快捷键ctrl f 打开替换框 2.勾选正则模式 Regex 3.在条件框中输入正则^\s*\n 正则解释,匹配以0个或n个\s空白符起首的换行\n 输入正则后可以看到效果,可以看到单行和多行都被选中了 。 如果想只删除连续多行的空行,就需要…

fl studio for window 21.0.3.3517 官方中文版免费下载及新功能介绍

FL Studio 21 for Mac官方中文版免费下载是一款功能强大的音乐编曲制作软件。尽管你可能没有接触过音乐制作,也能通过fl Studio 21,撰写,整理,录制,编辑,混合,掌握和制作出专业的品质音乐。 fl…

每隔一段时间重试,重试n次 java 工具类

需求: 若代码出现异常,则每隔一段时间重试一下,重试n次 import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.util.function.Supplier;public class RetryUtils {private static final Logger log LoggerFactory.getLogg…

ASP.NET Core 依赖注入系列一

什么是ASP.NET Core 依赖注入? 依赖注入也称DI是一项技术用来实现对象松耦合以至于应用程序更容易维护,ASP.NET Core通过控制器的构造函数自动注入依赖的对象,我们创建ASP.NET Core MVC应用程序演示依赖注入特性是如何工作, 在这节中我们讲解该特性 1 …

剑指offer45 把数组排成最小的数

剑指offer45 把数组排成最小的数 文章目录 剑指offer45 把数组排成最小的数题目描述思路实现参考文献 题目描述 输入一个非负整数数组,把数组里的所有数字拼接起来排成一个数,打印能拼接出来的所有数字中最小的一个。 思路 此题求拼接起来的最小数字&…