00:00
好,那我们要做一个项目的时候呢,我们首先得有得得得有什么呀,得有这个需求分析,咱们整个项目得得去用咱们的需求去驱动是吧?那现在咱们打开咱们的一个PPT,就是项目需求分析,来看这里边儿咱们有哪些需求啊。来首先第一个啊,用户行为采集平台啊,因为咱们数仓我需要去分析数据,对吧,那数据得能够采集过来才行,那咱们的数据来源呢,两个两个一个是用户行为日志,一个是业务系统里边的数据库,这两个数据来源,所以说我们应该搭两个采集平台,一个是专门用来采集用户行为的啊,那一个呢,是专门用来采集业务数据,这个所谓的业务数据呢,指的就是数据库里边那个啊,啊比如说用户的信息,订单支付加购车的信息,哎,咱们从这里边去采集,好,那现在往下走。来数据仓库之维度建模,呃,然后咱们数仓里边,前面讲过要进行这个模型的构建,对吧?那我们数仓里边主要的模型呢,就是哎维度模型啊,就是维度模型,维度模型这个呃,概念呢,是对数仓来说是非常重要的,是非常重要的啊,那所以说我们到时候会重点讲解这个维度建模,当然这得是后边的内容了啊好,再往下走。
01:19
啊,那下边呢,是我们的一些这个需求啊,一些需求,呃,因为咱们后续的数仓和后续数仓后续的应用呢,我们在这只涉及到了一个报表系统,对吧?那报表系统要展示的就是我们各种各样的指标啊,那咱们这指标有什么呢?呃,有以下几个主题啊,比如说呃,设备主题,或者叫做访客主题,访客主题这个是什么?是会员主题啊,商品主题,地区主题,活动主题等等等等,这个都是咱们一些电商的核心主题啊,在这儿呢,我们要明确一下啊,咱们这个数据仓库,咱们的业务系统是一个什么呢?是一个电商系统,那所以说我们分析的指标都是跟电商相关的啊啊,那现在往下走统计的这个报表呢,接近呃100个,呃其实到不了啊,但是大几十个是没问题的啊,大几十个没问题啊,完全对比这个什么中心公司啊,这个咱往下走。
02:12
那再往下呢,我们会给大家讲几个这个即席查询工具来进行这个指标的及析分析啊,这个及席查询啊,这也是我们这个数据分析当中的一个概念啊,那这个所谓的集析查询咱们怎么理解啊,啊是这样,大家想想我们比如说呃,前面这些啊,这些指标啊,大家说我这些指标啊,啊举个简单例子啊,比如什么指标,比如说我每天的呃,用户活跃的个数,就是日活啊,每天的这个呃,这个新增用户的个数,新增对不对,留存等等的各种各样的指标,大家想一想,你说这些指标它是不是每天的计算逻辑都是固定的呀?对不对,我日活我我每天都这么求,只不过你的数据每天数据来源,呃数据每天的数据是不一样的,对不对,那新增也都是一样的计算逻辑啊,所以说对于咱们上述所讲的这些指标呢,它都是固定的逻辑,固定的逻辑,那我们是不是这个,呃,那个分析的circle就能写死啊对不对,写死在我们收藏里边,每天进行统一的计算就行了啊,都是重复的计算啊,然后但是我们在这个分析的时候呢,我们还会有另外的一些指标啊,那这些指标呢,它不能提前预知,它不是固定的。
03:23
啊,可能我的这个数据分析师啊,我需要进行各种各样的这个数据分析对比对不对,那所以说他分析的思路你能提前知道吗?你不知道对不对,那所以说这些分析呢,是不固定的啊呃,而且这样的分析一般情况下还有一个样的要求,什么要求呢?响应得快,我数据分析嘛,对不对,我我我我想看一下这两条数据之间的关系,那我得希望他立马能够返回结果,然后我看这个结果,诶,嗯,看不出来什么,对吧,我可能还需要再做另外的分析,那我我还得再写个四号,然后再快速的出结果,也就是这种分析呢,我要求我这个速度也快。
04:00
啊,那所以说呃,所谓的集析查询指的就是咱们刚才提到的这种啊,就是说第一点,哎,我的呃需求呢,是不固定的,其次呢,我响应我要求得快啊,那这样的要求,这样的需求呢,我需要借助一些咱们专门用来进行及其查询的工具,那这种工具的特点就是延迟低,速度快啊,那这样的工具我们到时候会给大家降几个,比如说呃,后续会讲到什么麒麟啊,会讲到什么presal,这都是一些常用的及时查询工具。啊啊,当然这个东西,呃,听着这个概念很陌生,但其实咱们做起来很简单,对吧,就是啥,就是写circle呗,对不对,只不过你那个circle呢,可能会各种各样的circle啊好,那再往下走。下边啊,我们整个数仓搭起来,到时候大家会发现啊,咱们整个集群需要起很多的进程,对不对,包括我的采集,包括我的这个数仓啊,对吧,会起很多的进程,那这么多的进程,如果说任意一个进程出现问题挂掉了,那是不都有可能会对咱们的出仓造成一定的影响啊,对不对,那我们这种情况我们得呃想办法去应对才可以,那所以咱们需要怎么做呀,需要监控整个集群。
05:10
啊,一旦哪个进程挂掉了,他得立马给我干啥才行。报警才可以对吧,那报警的方式多种多样,可以打电话发短信对不对,那当然这个都得花钱啊,打电话发短信的一般都得借助第三方的服务,需要付费的,比如说一条短信多少钱,一个电话多少钱,对吧?那我们更多的还有什么,还有免费的,免费的啥呀。邮件啊,对吧,这其实我们更常用的一种啊,就是邮件通知这个免费嘛,一般都是啊是这样的,当然通知形式不重要,但是我们得有一个这样监控的一个东西,得监控整个出问题报警啊,这是呃咱们呃这个集群监控啊,这一步咱们需要去做,再往下呢。这里边儿有一个这个原数据管理这样的一个概念啊,原数据管理,那所谓的原数据管理指的是什么呢。所以语言数据大家都知道是什么啊,这个语言数据在我们数仓里边指的就是谁呀。
06:03
就是have的原数据,因为咱出仓的主体就是啥,就是have啊,Have里边一大堆的表,对不对啊,大家想想啊,如果说呃,让你现在让让咱们自己啊,让们自己来进一个新公司对不对,进个新新公司之后,你进去之后发现数仓已经搭建起来了,那数仓里边就是是不是就是一大堆乱七八糟的表啊,对不对,那现在假如说呃,我现在进来之后,你的这个领导就给你呃布置需求了啊,你去干什么,干嘛来个需求。那时候肯定当场就很懵很懵,那什么是吧,很懵,为什么?因为一大堆的表,你根本都不知道每张表是干什么的,每张表跟每张表之间的关系是什么样的,你根本就不知道,对吧?那时候会呃很难,就是说呃就是说开始一个新的项,呃很难去呃去做第一个需求啊,很难啊,那所以说呃既然有这样的情况,那我们就可以利用什么呀,利用我们的have的原数据去做一些工作。啊,做一些什么样的工作呢?因为have,原数据当中存储了什么,存储了我的这个所有的这个表,所有的库的信息,对不对,那我利用原数据能做什么样的一个工作呢?最典型的一个应用就是呃,这个血缘管理。
07:12
血缘管理,什么叫血缘管理啊,大家想想,我们数仓咱们会分层对吧?哎,好多层,然后每一层都是很多的表啊,都是很多表,比如说呃,我第一层有这么多表,然后我第二层呢,也有这么多表,当咱们这个表与表之间都是有关系的啊,什么关系?比如说我第二层的表,那我的数据来源都是第一层,我们是一层一层的啊,那OK,你这张表是从第一层的哪几张表来的?哎,比如从这来的,哎,那他俩照来的,你是不是就来自于这两张表啊,对不对?那下边一层呢?啊,我可能是这两张表照进来的。对不对,最后一层我可能是哎这几张表上来的对不对,那如果说你能有一个这样的一个图啊,那你再去,呃,去接手这个数层,那就会变得容易多了啊,因为你这个表与表之间的这个血缘关系呢,一目了然啊,我需要什么样的数据,我可以去进行溯源,我从哪张表里去拿,哎,我能够一目了然,哎能够快速的去熟悉来去入手这个数仓。
08:11
啊,是这样的一个作用啊,这样一个作用啊,这是我们做语言数据管理最核心最重要的一个应用,就是做咱们这个血统啊,或者叫做血缘管理啊,什么叫做血缘呀。相当于我这张表是从这两张表来的,对吧,那你相当于这两张表是他的老祖宗对不对,像是有这个血缘关系的啊,是这个意思啊,这个意思啊,那这是语言数据管理当中,我们呃,最重要的一个应用就是学员管理啊,那再往下还有这个质量监控,这个所谓的质量监控指的是什么呢?这个质量指的什么是质量啊。啊,只是咱们数据的质量啊,因为大家都知道啊,咱们数仓啊,我每天需要去重复的计算很多的指标,对吧,那这个指标计算的到底对不对呢?对不对,那有没有丢数据啊,啊或者是有没有什么这个错误,呃,这个计算的这种情况发生呢,对不对,那咱们如果说你要不去呃,人工的一点一点去核对,那你根本就不知道。
09:09
啊,那所以说我们这会儿怎么办呢?诶,可以借助一些这种质量监控的这种框架去帮我们去监控你这个数仓的计算质量是否是OK的,有没有丢数据啊,你的计算结果是否准确啊,可以借助这个质量监控去做啊,这是咱们诶收藏的一些这个东西啊,然后再往下就基本就没有了啊,也是现在目前一个啊相对比较完备的数仓,我应该包含的就是咱们上述的这些东西。啊,那这个数仓里边核心的东西是哪儿呢。啊,其实核心东西是哪儿啊,核心的东西其实可以把咱们下边这个去掉。啊,下边一个去掉这个这几个东西,大家可以想想,它全部都是为了干什么呀。都是为了让咱们这个数仓,呃,首先我我这个监控它的性能,监控性能是不是能够保证咱们数仓的可用性更高一些呀,对不对,运输管理我做那个呃,那个血缘关系呃,能够保保证咱们那个呃去接手一个出仓的时候能够更更加容易呃能够呃管理咱们出仓时候更加方便啊,那质量监控呢,能够保证咱们数仓的这个数据质量啊,那其实他们全都是为了干什么,为了优化咱们数仓,让我们的数仓呢更加好用,对吧?那其实没有这些东西,那数仓能不能跑起来,能跑起来对吧?没有这些东西,我输仓一样跑啊,但是有这些东西呢,输仓会更好啊,就是这个作用啊啊,也就是核心的东西还是我们上边那些啊啊大家接下来往下走,那我们的需求分析相对于说完了,那接下来我们啊,带着这些需求呢,去思考几个问题来。
10:39
第一个问题,项目技术如何选型啊?什么叫做选型呢?比如说我现在要搭建一个用户采集平台,对吧?那我搭建用户采集平台的时候,我应该选用什么样的这个框架呢?啊,对不对,用户行为咱们选啥呀。大家肯定首选就是啥flu对不对,因为咱们只会对吧,有只挥啊,但是其实能够完成这个日志采集的这个功能的框架呢,不止flu挺多的,比如说flu啊,什么log stesh啊等等,什么这个fluent d等等,其实类似的框架有很多啊,那咱们选的时候怎么选对吧?啊,这个需要考虑那第二一个。
11:19
框架版本如何全行,当然这个框架版本呢,咱们这儿呃可以从两个角度去考虑,一个是什么,一个是咱们框架的发行版本,还有一个呢,是咱们框架具体的那个版本号,对吧?这个二点几三点四点几啊是这样啊,那现在我们先看一下咱们这个第一个方向啊,就是这个呃发行那大大家都知道我们这个海杜派啊,咱们这个呃,就是比较大的几个发行版叫什么,比如说呃阿帕奇啊,这是它原生的对吧?那还有一个几,还有几个商业版啊,商业版比如说呃,CDH。啊,还有谁还有HTP这个带大家学海度,刚开始的时候应该介绍过对吧?啊,这个是cloudr公司,这个是hoton works公司,但其实现在这俩公司已经怎么样了。
12:05
已经合并了啊,已经合并了他俩啊,他也合并了啊,呃,然后咱们选的时候呢,我到底应该选谁呢?其实还有一个比较在国外啊,比较知名的一个发行版也是商业版,叫做迈法R啊,迈法啊那公司其实呃,在国内知名度相对来说要低一些啊,所以一般情况下不考虑啊,要考虑的话,你就考虑他们几个,那到底应该选谁呢?对吧,也是需要考虑的啊,那现在往下走。当然还有一个,还有丢了一个角度啊,一个是那个发起嘛,还有一个是那个那个版本号对吧,那比如说我现在选阿帕奇,那你应该选哪个版本的呢?我选2.3的啊,我选3.2的,我应该选谁对吧?需要去考虑啊,还得往下走大边,呃,假如说我这个框架都选完了,对吧?因为我们是从零开始拉出仓,从零开始拉,那服务器咱们应该选什么。对不对啊,咱们现在学习的时候没得选虚拟机对吧,那实际上真实真实搭建的时候你就得考虑了啊,你是物理机还是运主机,那可能有同学会觉得这个问题还需要让我去考虑吗?我是做大数据开发的呀,对不对,我不是运维,为什么要我我去选这个东西呢。
13:10
啊,其实可以这样跟大家说啊,其实现在咱们大数据还远没有发展到那种非常完备的那个程度,不像Java那边,我们家伙已经非常完备的,相当于这个各司其职,对吧,我干什么就是干什么,但是大数据现在呢,其实相对来说还没有那么完备啊,也就是大数据运维人员呢,相对来说还还不是充特别充足,也是咱们到公司之后呢,啊也也会怎么样呢,就相当于顶半个运维吧,就是啥都干啊,干的东西是实际上是比较多的啊,就是虽然呃可能哎咱们公司去了之后呢,不会让我们呃自己去干什么,自己去买服务器回来自己去呃组网去等等,不会让咱们去干这样的一些工作啊,但是他可能会询问你一些意见,对吧?啊,咱公司有传统的运维,但是他也不知道大数据集群到底应该买什么样的服务器,对吧?哎,但所以说老板可能会,哎,让你提供一个方案,诶你说我们大数据这个集群啊,需要买几台服务器呀,那服务器的配置应该是什么样的呀,他可能会咨询你能理解吧?啊就是说咱们大致得知道。
14:10
我们这个大数据服务器应该买什么样的性质,什么样的这个配置的服务器,我们得知道,然后买几台咱们大致得会算才行啊是这样,所以这些东西我们也需要了解啊,要了解对价钱等等,咱们也要了解一下啊,啊那这个大致就是我们,呃,这个这个前面需要考虑几个问题啊,那服务器咱们假如定好了买云主机对吧,那定好了之后呢。你还得考虑一个问题啊,就是买几台服务器啊,就是所谓的如何确定集群规模,就是买多少台服务器,咱们这个需要去计算的啊,不是张口就来了,买十台,那不不是这么来的啊啊,那得需要去计算啊,啊那所以说这些东西现在都是咱们大家需要去思考的问题,那一会儿我们就按照这几个思考题呢,咱们一个一个去解答啊,然后呢,把上面这些需求我们一个一个去,呃正经的分析一下啊好,那我现在把这个呃视频先录一下啊。
我来说两句