00:00
呃,那么咱们上午呢,主要是把我们这个呃,首单的需求给大家简单介绍一下对吧?就是我们现在呢,要取完这些功能,就是当日新增付费用户,然后首单的一个分析,注意啊,同学们别被这些成,别被咱们这些修饰词啊迷惑了,对吧?其实我如果要是想拿,我如果要想做统计的话,我只要把咱们订单给拿到对吧?我想怎么统计就怎么统计,你想想只要把这个订单的数据达到了对吧?什么当天的,什么历史的是不这些都可以啊对吧?你想我现在如果有订单数据了,我不求当日的,我求昨天的,对吧?这不也行吗?咱们曾经说过,现在呢,大数据开发,其实呢,两个五零框架,一个呢叫拉姆达,一个叫开发,对吧,一个叫KA发,对吧?那么如果说呢,这个拉姆DA呢,那一般是我们这个实时啊加离线,如果咱们这个开发的话呢,那就是什么,就是我们现在这个纯实时,那你说纯实时这个架构里边它分析不了咱们。
01:00
历史数据吗?也行啊,对吧,你把咱现在所有订单拿过来,我想统计昨天的对吧,我实现类似离线的功能是不是其实也可以啊,对吧?所以说呢啊,你看到咱们现在啊,就是说当日新增付费用户首单分析对吧?其实呢,我最主要的就是你把这订单的这个数据库获取到,那么具体咱们到时候要分析的话,其实有很多维度对吧?其实有很多维度,很多指标可以去分析的啊,那那么具体我要实现的话呢,大概的思路是这样的,我们把这一个大的需求呢,我分成这么几个部分对吧?一个呢是数据采集,因为我们现在啊,这个订单的数据在我们这个MY思L数据库里边啊,在咱们这个业务数据库里边,然后接下来呢,那我需要把我们这个数据库的数据导到我们这个卡卡中啊,那这里我们给大家介绍到我们这个can啊,那么后边呢,我会给大家进入ma Maxwell,然后接下来,那么我现在采集到之后呢,那我得看一下对吧,当前呢,这个是不是首单用户对吧?那么如果是首单用户的话,那么这个是。
02:00
时候呢,我给你做个标记,如果不是首单用户的话,是吧,那么这个时候呢,我给标记一下对吧?那么我怎么判断呢?那我得把这状态啊得存起来,那么能不能像原来我们在判断是否首次登录那样,把这个状态存到red面去呢?其实不太合适了,为什么?因为这是一个持久保存的一个数据,对,如果你要一直在内存里存的话呢,对吧,这个不太合适对吧,所以说我分析到时候呢,可以把它放在我们这个h base里边,对吧?然后接下来我在统计的时候呀,那需要对统计的是我们订单对吧,他的一些对吧相关联的维度,比如说这个省份信息,这个用户的年龄段,包括咱用户的性别,对吧?那么按照这些我的不同指标呢来进行统计,对吧?那么这个时候需要啊,这个订单的数据啊,和我们其他的一些维度表进行关联,对吧,那么这块呢,是我第三个,第四个呢,是做一个展示对吧,做一展示对吧?那么我们现在呢,上午基本上完成的是我们第一个功能对吧,就采集这一块,采集这块呢,使用的是我们这canon canon呢它其实。是基于我们这MYSL的主图呢,他把自己呢,伪装成MYSQL的一个从机对吧?如果说我们现在这个MY搜QL数据库对吧?那首先呢,要去开启它的一个blo日志,他会把它自己的它的一个啊这个新增还有我们的个对吧,这个变化这个数据呢,给记入到我们blo日志里边,然后接下来我这can呢,会开启一个新的线程,然后到blo里面去看有没有新的数据,如果要是有的话,那么这个时候把这数据给拿到对吧?那么拿到之后呢,就有两种处理方式,一个呢是把数据发送到我们对应的消息中间件中,那么另外一个呢,它可以编写代码去接收,那么咱们这里啊,直接对吧去往消息中间店去发送了,对吧?那么具体开头它的一个架构原理什么样的呢?对吧?那我们说了,首先呢,这个是MYS来读数据对吧?To买搜读数据,然后接下来放到我们现在的这个开头中对吧?放到我这开头里边对吧?然后接下来把它放到我这卡卡中对吧?那么其实我们现在这些东西呢,都是通过配置来实现的。
03:59
啊,都要通过配置来实现,对吧?那么在咱们这个配置里边呢,那么主要有两个配置文件比较重要,一个呢,是我们这个主配置文件是不是叫kind practice对吧?这个是一个Kindle practice这个配置文件,然后另外一个,那我现在kind的它可能啊去监听我们多个不同的一个数据库的来源,那么这个时候每去鉴定一个数据库,那么这个时候呢,它会开启一个不同的实例,对吧?那这个呢叫的property对吧?那么如果说想配置多个实例的话,那么你需要在我们这个kind头下边去创建我们这个类似于example这样的目录,然后在我们主配置文件里边呢,来配一下主配置文件呢,主要配置一些基础信息,比如说端口号,比如说高考用的时候组keepper地址,比如说我要发送数据给卡不卡,它的一个地址是什么样的,对吧?这是在主配置文件中配置的,那么在我们现在的这个配置文件中,对吧?就是我们实例配置文件中,那我们主要配置内容是什么呢?这个数据对从哪个MYS读取到的?
04:58
对吧,然后你使用的用户是什么,我们这里是不是有个专门的用户去做这个事了,我们用的KO对吧?所以说呢,你在前期,那你在做买自准备的时候,你应该把B日志给打开,然后呢,把咱们开的用户呢给创建好啊,然后接下来,那么我现在呢,把数据拿到之后,我要发送到卡不卡的哪个主题的,那你需要把咱们现在这个卡不卡的主题呢给我配置好,那么这里啊大家啊,有一个问题对我看这个上午呢,这个有些同学出现了,对吧?呃,来到哪呢?来到我们的Kindle它的一个配置文件中啊在这里,然后接下来这里有一个example,然后这个example,然后接下来我们现在呢,对它里边的一些数据做一个配置啊吧,做一个配置啊那么其中呢,有一个配置是这样的啊什么呢?啊这块东西。
05:50
啊,有一个配置是这样的啊,那么这表什么含义呢?大家注意啊,我们首先呢,要从my soql里边来拿数据对吧?那么MYSO拿了数据之后,是不是要往卡不卡它的一个主题里边来把这个数据给它发过去啊,那么你发过去卡卡它的主题呢?那有多个分区对吧?那么你现在呢,它的一个往哪个分区里边发啊,你往哪个分区里边发对吧?那么咱们默认情况下,那默认配置这两个是被注视掉的,然后这个是不是打开的,它默认发到哪了?发到咱们这个零号分区了啊,就默认情况的指会网那零号分区里边发对吧?那但是我们把它改一改,改成什么呢?我们现在把上面这个零号分区啊,就把零号分区发这个事儿给干掉了,然后呢,我们说对吧,那我要通过我的一些分区规则对吧,然后干什么呢?来把这个消息发到不同的分区里面去,那么这两个呢,就是指定我们现在哪一个数据,你要发送哪个分区的,那么根据什么来指定呢?那我这里让我给大家最后在我们这个飞Q上。
06:50
它的一个消息对吧,那那个呢,是我们的一个地址对吧,其实它是一个这样内容对吧,就你可以啊去做一个我们当前它的一个配置对吧,它的一个配置,那如果说我现在呢,这块什么也不指定,就默认配置的话,那么他呢,呃,对应的他要干什么,他要把咱们当前的,那么咱们当前某一张表的这个数据,然后发送到某一个分区,也就是我现在呢,读取数据的时候,我可能呢,会从我们这个买自之读取很多张表,导堆很多表,然后呢,他按照表名来决定我现在要把这数据发送到哪个分区里面去,比如说user表,那他把user表数据啊全部放到第二分区了,比如订单表,他把订单表数据呢,全部放到这个一二分区了,比如说我现在还有别的这个表,他全部放到另外一个分区了,对吧,他就根据表格的哈希值来决定,对吧?诶要往哪个分区发,那么其实我们现在呢,还可以怎么办呢?还可以这样来配对吧,就是我在咱们这个后边我加了一个什么呢?我加了一个冒号,然后Dollar对吧,然后PK,那么这是什么。
07:50
就是说我现在呢,再去这个分区的时候,我计算要往哪发,那按照什么来计算呢?按照我们的表中的主见,对吧,它会根据咱们表中记录它的一个主键来决定我要发送到什么位置去啊,我要发到什么位置去,那么这块呢,需要注意一下对吧,咱们呢,因为我这个canon呢,我们用一下对吧,然后呢,如果你要指定的话,你也可以按这种形式来指定对吧,我们这个后面讲的must well呢也可以指定对吧,发送远分析去,但大家有的有一些同学看不到效果,对吧?什么原因呢?就是我们现在啊,我的卡不卡同学们对吧,我的卡卡把这些东西呢来打开对吧,那我在我的卡不卡配置文件里面,我修改过一个东西,对吧,在server practice里边我修改过一个什么呢?我修改过一个numbers。
08:37
我修改过这个东西同学们对吧,因为我现在我修改这个东西,这这个是什么,这是我这个默认的分级数了,对吧,就是我现在把这东西改完之后,它起到一个什么作用呢?其实我这卡卡起完之后,对那每次我在默认帮我创建主题的时候,这个主题的默认分级数不是一个了,对是四个了,等是四个对有的同学这个没改,没改的话呢?哎,那你现在创建的卡不卡它的一个主题,它的默认情况下,它的分区呢,就一个,那么如果一个的话,你在这里你又给人指定说四个,然后你往哪发,那是不是你在查看的时候,是不是有可能有些数据没有啊对吧,比如说我现在有个A表,A表发到哪去了,发到我这个这个这个三这个分区了,结果你这里就一个分区,你让你上哪找去。
09:20
对吧?哎,所以说这块呢,你要注意一下啊,这个你要注意一下,然后大家如果说啊,以前你这块没改的话,你现在想改对吧,那么你改完之后呢,你要把咱们这卡夫卡呀,这个服务给重启一下啊,把这卡法重重启一下,那么重启完之后还不行,为什么呢?因为你现在这里边有可能你以前呢,你这个这个这个topic已经生成了,这生成之后这topic是不是就是一个咱们这个这个一个分区啊,对吧,那你就得去修改一下了,如果修改的话,有什么什么杠杠al了对吧?可以去把咱们这个分居数给改一改,注意啊这块啊这块其实你们这个不改呢,也没问题,对吧,不改就会看到一个什么呢,就我在运行的时候,你看我读取分区不是0123吗?你们看的全是零,就一个零。
10:04
对,你们在运行的时候,你看诶我现在读取分区对吧,写入分区就一个分区嘛,对吧,其实这块呢,对吧,这个你知道啊,你得知道这是怎么回事,对吧,其实改不改呢,对于我们这个程序,因为效果来讲不有太大的差别,对吧?呃,然后接下来那么再往下呢,咱们对吧把这个Kindle对吧这个测试了一下,然后测试完之后呢,我们分两个版本测试的一个单机版,一个呢是高可用,对吧,那么这个单机版呢,对吧,这个简单的直接走一下,然后高考用呢,其实我们就是这个相当于配了一个备胎嘛,对吧,相当于配了一个备胎对吧,那么这块你知道大概的一个对吧,这个高考用的一个配置过程就行了啊知道咱这个配置过程就行,其实就是什么呢?其实就把走K的配置给拿过来,然后另外一个咱们上午的在配置,这会注是错了啊,这会相当于什么呀,相当于啊,就是说我现在呢,我要把咱们当前的它的一个数据给记录一下,都缓存一下,缓存哪呢?对吧,那么咱们一开始对吧,是缓存在我们内存里边,或者缓存文件。
11:05
在页现在呢,就相当于我们不缓存了嘛,那如果不缓存的话,这个数据就不会重复发送了,对吧,上午正好咱们看到一个,如果重复发送的时候,它这个效果是什么样的啊,这块呢要注意一下啊,这个注意一下,好这是上午的东西啊,简单回顾一下。
我来说两句