00:00
Hello,上亏谷的小伙伴们大家好啊,哎,我是小李老师啊呃,今天来给大家这个探讨一个问题啊,就是说啊,咱们在公司里边。经常会到这种场景,什么场景啊,就是说啊,我的这个电商平台的这么一个业务数据不存在了,MYSQL里边。而咱们作为这个大数据程序员,咱们是不是要做这么一个数据的分析啊,而咱们这个数据分析一般都是用have等一些大数据框架,但是不管用什么,不管你用哈多也好,Have也好,那咱们是不是想办法先把这个my circle这个业务数据咱们给它同步到咱们这个HDFS上啊。那现在我们就有一个需求,就是如何把咱们的这个my circle的业务数据给咱同步到这个HDFS上。那相信很多这个干过收仓小伙伴都知道,有一个框架叫什么呀,叫做scoop啊,我们给大家画一下啊,咱们中间之前是用过一个小框架,叫做这个scoop,而scoop这个框架它就能够啊支持把咱们这个my circle的业务数据。
01:03
咱们通过写这个脚本的方式,咱们给它导入到这个HTF里边啊,我给大家把这个箭头补一下啊。但是这样一来啊,大家应该知道啊,咱们这个属于什么呀,咱们这个属于是不是属于离线同步啊。也就是说啊,咱们一般如果用school的话,咱们都属于这个,每天晚上用这个阿兹卡奔来定时调度咱们这个school的脚本,那这样一来我属于这个每天把这个,就比如说每天晚上的零点半,咱们把前一天的这个my circle产生的所有数据,咱们统一的做一个批处理,给他导到这个ACS上。啊,但是这样一来呢,只能保证咱们这个离线数仓这么一个使用,因为咱们这个离线收仓它属于T加一模式嘛,那我在第二天只要能拿到我前一天的买circle的所有的业务数据,我是可以的。但是啊,咱们后边还是是不是还是要要做这个实时的数据分析啊,我要做实时,甚至我还要做这个实时的数仓啊,那这样一来呢,那我们这个Co就不能满足咱们这个需求了。
02:05
那这样一来,我们在公司里边应该怎么办呢?啊,首先在这儿我们要引出另外几个框架了,你就比如说大家应该听过阿里有个框架叫什么呀,叫canal。这个canel是能够通过这个my circle是吧,实时监控咱们这个数据,咱们把这个my circle的业务数据实时的传到HTS上,然后玩过fli的同学应该知道有fli里边有个组件叫做flink CDC,而这个fli CDC你也可以通过写代码的方式啊,把咱们这个my circlele的数据,咱们给它实时的抓取同步到XS上。那同学说老师我没有们我们公司没有用flink,我们就拿SPA来做的,或者或者是我用别的别的别的框架来做这个事实,那这样一来这个fli CDC就不合适了,那难道我们只能用那个can吗?其实不然啊,我们还有一个小组件叫做什么呀?叫做Maxwell啊,今天就是咱们要讲个重点,咱们要给大家讲个组件,就是这个所谓的Maxwell啊,我们有一个框架啊,叫做mawell,这个mawell这个小组件啊,它就有一个很强的功能。
03:03
它我给大家拼一下啊Maxwell,而这个Maxwell小组件,它就有一个非常强大的功能,就是能够实时的抓取咱们买circle口的业务数据,然后把咱们这个数据咱们做为一个实时的同步给它同步到这个卡夫卡或者是re里边,首先啊,咱们这个麦有它不能直接把这个数据同步到S上,它没有这个功能,但是呢,我这个组件诶,我允许你能够实时的监控你my circleq的b blog日志,然后呢,把你这个数据咱们做一个实时的同步,同步到哪呢?我可以同步到卡夫卡里边,那这样一来咱们就可以搭建这么一个架构了,什么架构啊,咱们在这就可以把咱们这个my circle开启一个b blog日志,然后呢,通过Maxwell,咱们把这个数据给咱同步到卡夫卡里边啊。卡夫卡里边,那这样一来,那我这个数据就实时的进入到了卡夫卡,那你说我这个数据一旦进卡夫卡了,我是不是就可以想办法把这个卡夫卡的数据给它同步到H上,那这个我们方法就很多了,我可以自己写代码,我也可以用那个是吧?那这个时候咱们可以再接一层flow。
04:07
然后呢,把咱们这个数据,咱们就可以引入到咱们的这个。啊,H上啊,我大家把这个L变成弗鲁姆啊。咱们就可以通过一层,然后把咱们这个数据给它同从这个卡夫卡同步到H上,那这样一来咱们这么一套框架,它就属于一个实时抓取my circle的业务数据,然后咱们做咱们向这个ATS做一个实时同步,只要我能够实时同步我这个数据了,那我后边这个实时项目是不是就可以做这个分析了啊,是这样的啊。那因此咱们今天就给大家讲一下,咱们这个买所有啊买所有。咱们是分这么几个章节给大家讲个MY所有啊,首先第一节给大家讲一下这个MY所有的一个定义,讲一讲什么是MY所有啊,第二个章节给大家讲一下这个mawell的工作原理,因为我这个max Maxwell就是通过这个MYS的blo来监控我这个MYL数据的,所以说在这一章,在这一章里边给大家详细讲解了一下这个my myself b blog是怎么回事啊,然后第第三个章节给大家讲一下这个MYSO与这个canel的一个对比啊,他俩到底是谁更厉害一些,我们给大家简单对比了一下啊,然后整个第二章就是做这个mace的一个使用啊。首先2.1这章节大家讲一下这个ma so的一个安装部署,我究竟应该怎么安装Mac。
05:24
并且在我这个使用mycel之前,我这个my circle应该做什么准备啊,这一块给大简单讲一下好吧,那最后一个章节就是给大家讲了一下my my ma的几个入门案例,这几个案例基本上包含了在公司里边所有的应用场景。首先第一个案例咱们给大家讲的是我监控mycel数据,然后再控制台打印,这属于一个调试程序,我们可以简单的调试一下,哎,看看咱们这个MYL能否对接MYSQL是这样的啊。那第二个小案例就是监控MYSO数据,把咱们这个数据就是实时的传输到卡夫卡,是咱们在公司里边遇的最多的一种案例啊。第三个案例就是我做一个过滤,首先在我这个my circlel里边我肯定有多个库,我不仅我这有多个库,我每个库下我还有多张表。
06:12
那我就可以监控我买circle指定库指定表的数据,我给做一个输出,好吧,啊,这是第三个案例,那第四个小案例呢,第四个小案例是做了一个全量同步。大家都知道啊,咱们这种实时框架一般都不支持全量同步,它只是你在这个MYSQ这块有新增,它就会给你新增同步了,那如果说我my circleql里边有一张表啊,这张表有一有1万条数据,我现在忽然有一天我想把这1万条数据我给他做一个全量同步,怎么办?诶,那咱们这个Maxwell是支持这个功能的。它相比这个canel是多这么一个数据的初始化这么一个功能,所以说啊,咱们最后一个案例给大家讲了一下,咱们当前用的比较多的就是如何使用mal,咱们对这个ma的一个表格数据,咱们做一个全量的同步。
07:01
啊,那咱们这个课程介绍就简单给大家介绍到这儿啊。
我来说两句