- 00:01 - 好,那么接下来呢,我们看一下它的一个基础的一个架构,其实这张图呢,大家刚才在这个上面看到。对吧,那它这个地方。其实你看一下这张图啊,这个才是服务。的一个组件,因为你看它叫什么。外部外部服务其实就讲了我们那个后台产生的数据,然后这个呢。HDFS这个也是我们所说的最主要的一个功能,对吧,从前面读一个什么数据,我写到这个HDF啊,写到HDFSOK,那么它最主要的组件是这些个东西。啊,是这个东西好来看一下啊,这个整个的一个内容在这。首先你看到的应该是这个东西。A着的,那这个A着是个什么东西呢?它是一个GMG。因为他要采集数据,这个整个采集的一个过程,A肯定也是运行代码嘛,而且它这个代码也是运行在GM这个虚拟机上的啊,那这个A呢,代表了一个GM进程,在这个进程当中包括三大组件,就是你看到了三个内容。 
- 01:15 - 第一个叫。Source叫源头对吧,那你也能看到他接的是web service。因为他是负责传输数据的。他是既然是负责传输的,他自己要存什么东西吗?或者他要处理什么东西吗?不用吧啊,当然他可以轻量的对这个数据做一个处理,因为中间还有拦截器啊,拦截器你听这个名字大概知道它是干什么用的了啊,可以过滤啊,或者说我给这个数据增加一些东西,或者说减少一些东西,是这个是可以的。啊,这个是可以的,但是呢,它只是做这种轻量处理啊,对于每一条数据呢,可以这样处理,但是呢,它不能像氦我们所说的,你求一个什么数据的总和。 
- 02:00 - 什么count,什么sum,什么平均数,这个不好意思做不了啊,所以呢,它可以轻量这个数据做一个处理啊,处理它更重要的体现在这个传输上面,传输上面,所以他专门有一个组件来对接我们所说的什么源头。两种,也就是说,你可以理解为,它就是跟外界打交道,用来读数据的地方。对吧,用来读数这个地方好,那第二个这个源头过来的数据传到哪了呀。一个叫channel channel叫管道。通道管道对吧?啊,China通道管道,那这个东西呢,就传过来,当我们聊一下它是干什么用的,那接下来还有一个think think什么意思。陈。啊,你可能不知道这个东西叫什么意思,但是你一看这个地方它是跟谁对接的,也是跟外界对接的,这个地方呢,可以不是IDF,你因为我们刚才说了可以写的卡不卡吧?啊还可以写到本地文件,这个都可以,那无论是哪一个,是不是一定不是我了,我跟外界对接的,而且呢,它是将这个数据写出去的一个组件,对不对,对吧?啊,它本身呢,是一个沉槽。 
- 03:15 - 啊叫陈槽,那陈槽就是下下游的一个陈槽,那你看一下这个整个这个图标,我们之前其实我挺喜欢聊这个图标的。这底下是一个水吧,一个木头传输数据用的啊,其实就相当于运河吧,看见对吧,啊运河因为古代的时候主要的传输路径还是水上是吧。因为它陆地上靠那个马,马车那些东西,它运载量不高,不像现在什么火车啊这些东西啊,它这个运载量比较高一点,但是船的一个运载量还是更高的吧。对吧,所以呢,它本身是传输这种大数据的,所以它那个图标对吧,设计还挺有意思的,挺有意思,我觉得它就是想表达一个运河这个木头呢,就是我们要运载的什么。 
- 04:03 - 数据对吧,啊运载的数据,所以它在取名的时候,这个组件也取成了什么。Think叫陈槽啊叫陈槽,所以呢,这三个组件我们要搞清楚啊,它有这三个东西,Source对接源头的数据。China。中间念啊,然后最后这个S,首先他们俩是不是更好理解一点。一个说我来从外面读出去,一个呢是负责把数据写出去,对吧,那中间的China你觉得它是干什么用的。缓冲四模的。整理。拦截拦截器,对拦截器确实也在这块,但是它更重要的拦截器可以不加呀,对吧,更重要的它起到的一个。缓冲的一个作用。缓冲的一个作用,如果说没有它。那他们俩直连是不是? 
- 05:01 - 对吧,他们俩直连会有什么问题?假如说我think写的快,你慢这个还好一点。对吧,至少这个不会崩,假如说反过来,我宋这边读的快,你写出去慢,那怎么办。也就是说source跟这如果说它的一个速率,处理数据的速率不对等的时候,这个时候是不是就有问题了。对吧,啊,所以呢,这个China呢,就是作为中间的一个缓冲区,我中间有一定的大小,那你source如果说此时,因为你这边由生产数据决定嘛,对吧,生产到此时,如果说下班高峰期,大家都在刷那个什么淘宝产生的数据量肯定会多吧,这个时候高峰期晚上凌晨什么三四点的时候,那这个时候收据上也也有这种人说这个时候逛下淘宝,但是绝对是。少数吧,啊绝对少数,它有高峰有低谷对吧,有高峰有低谷,OK,那如果是你高峰期,那你S处理的速度。 
- 06:06 - 写进来的读取数据的速度一定比你C秒要快吧,那这种时候我A你没关系,我就放在拆里边对吧,先帮你存着,当我们这边速率下降下来的时候,是不是写到这里边的速率干什么下降了,我S这边是不是拉取的整个的往外写的速度还保持刚跟刚才一样,跟刚才一样慢慢的,是不是China里面的数据会给它。写完了啊,回给写完,它是作为中间变的缓冲区的啊,这个是有必要的啊,有必要的也就这意思啊,这三个组件我们要了解一下,然后这个A阵上呢,就是我们将来要起的一个进程。要起的一个进程,因为我们刚才聊过,它是一个GM进程,它里面呢,就包括了这三个组件啊,这三个组件,而且呢,整个的我们要给这三个组件去配对,到底你读的是文件还是端口,我们当时不说了,它可以读两个吗? 
- 07:01 - 对吧,两种都可以读文件啊,读这个端口数据啊,其实它还可以读普卡数据等等,还有很多的一个源头啊,特别多,还有另外一个。Sing我们也要来了,你因为我们刚才就看到了,它可以写到IBFS写到卡,那到底写到哪一个,是不是你得告诉他呀,对吧,你希望用采集数据到HDFS,还是说到这个卡普,那你得告诉他。你得告诉他,也就是说我们要去配置这三个组件,配置这三个组件同时配置完了之后,它就有一个配置文件,然后根据这个配置文件,我们需要启动一个。A人的进程就完成了我们整个的一个工作了啊,不用写什么代码,当然这个里面它支持自定义source。自定义。就是一样的道理,自定义都是为了防止什么出现。他提供的是有很多,但是还是不满足你什么生产环境当中的特定需求的时候。 
- 08:04 - 对吧,你的数据读的比较奇怪,人家没有这个source,因为不常用的一个存储数据的一个地点,然后你公司在用,那这个时候你要自己去干什么,按照人家这个套路去自定义这个source是这个意思,那同样的,你写的不是什么卡夫卡IDFS,也不是本本地本地系统,而是你想写的什么MY。对吧,你想写直接写到汉表里边等等这些操作,那你要干什么,自定义啊自定义,但是自定义在生产环境当中,其实呃,用的相对来说少一点,因为对于from,因为我们现在只是看到好像本地文件,对吧,然后一个端口,然后这边呢,H2X跟什么卡卡,其实呢,它的一个功能还是非常多的啊,还是非常多的,那这个呢,是我们整体的一个架构方面的一个东西啊,我们了解一下。 
我来说两句