00:00
接下来我们来看一下啊,1.6与SCO的一个对比,因为这也涉及到咱们一个采集框架选型的一个问题啊,就比如说我在呃采集平台搭建的初期,那我到底是用data叉呢,还是用SCO呢。那为什么选了某一个呢?你肯定要说出理由的嘛,那我们来仔细对比一下啊,那代他跟SCO经常是拿到一起来对比的啊,那首先第一个最重要的区别。这玩意儿大家要记住那首先贝塔差它是什么?单进程,多线程。也就是说它其实是什么,它就是一个招服务。它是单机版的。那区别于什么?Co底层是什么?默认是不是四个map法任务啊,也就是说它底层跑的是MR任务,那MR是一个什么分布式计算引擎对吧?也就是说你启动一个同步作业,比如说还是咱们最熟悉的my circlel到HDFS。
01:03
那么如果是data差呢?呃,你只在一个作业,一个一台服务器上执行提交执行的话,那它就是一个进程,就在本地一个进程而已,但是我们之前不是提到了吗?它不是切成多个task吗?还组队了吗?哎,大家注意那个是什么多线程啊,仅仅此而已啊,仅此而已,那么SCO呢。MR。是不是要提交给雅安呢?那雅安可能会启动了多个节点,对吧。这是最大的区别,那有的人就会想了,那这么说的话,SCO肯定比data差强啊。那不会。那也不是不会,那不一定,你想想MR快还是慢。当然它只有map,省略了中间那个shuffle过程,对吧,但是它的启动。
02:01
还是比较慢的啊,比较慢的那代表他呢,他能将咱们的线程用到极致,阿里可以说对Java方面可以当之无愧的是数一数二的他们的,呃,像Java的一个能力,那么他呢,你想想人家数据量小吗,阿里。对吧,你不说什么业务,你就说淘宝这个业务好了,你淘宝那个数据量那可是很可观的。他速度并不慢啊,并不慢,这是第一个最重要的区别啊。那至于说他每秒钟达到多少条呢?还记得我刚才提到一句话吗?对了,他。如果你参数设置的合适,也就是说它的一些流控啊,限速的一些参数啊,并发啊等等,你设置的好它能什么。打满带宽。
03:00
那什么叫带宽,不知道大家有没有了解啊,应该大家都不陌生,你想想你平时拉宽带的时候是不是会说,比如说电信宽带啊,不是拉宽带是不是有个参数叫什么多少带宽呢?对吧?那是不是经常说什么20兆百兆,呃,200兆,300兆,千兆,对吧。这些是网速吗?不是这种就叫带宽嘛,那那比如说你100兆的带宽,你就能达到每秒钟100兆。的速度吗?那不是啊。带宽跟速率有一有什么关系啊,八倍的关系啊,也就是说如果你是100兆的带宽,它全称应该是这样BPS嘛,100兆BPS,这是100兆带宽,那你的速率理论上只能达到100除以八,也就12.5兆。每秒啊,这个才是大家最熟悉的那个下载速度啊,我们叫速率,这是带宽跟速率的一个关系,八倍关系,好这扯远了啊,那咱们说的是这大叉,它理论上呢,是可以打满你服务器的带宽的,也就是说每秒钟多少条,其实取决于你的服务器之间的传输带宽是多少。
04:12
当然带宽分为又分为上行下行对吧?啊,那那个就啊涉及到其他一些事儿了啊。那对于MYSQL的读写呢,确实它单机压力会大一点,但是它更好控制,因为更单一嘛,那SCO基于MR呢,它模式比较重,而且呢还有一个问题,看日志比较麻烦。看你想想SCO出呃报错了,你你控制台能直接看到吗?不一定,因为它是MR任务,那MR任务它是基于雅安调度的,所以很多时候咱们需要找什么雅安的日志对不对。那么还有一点就是什么呢?其实咱们很多时候,呃,公司里面都会自己封装一个大数据平台,什么意思呢?呃,它并不是所有人都可以去访问,就咱们类似咱们这种叉share啊,这种去访问的服务器吧,终端吧。
05:13
对吧,没所有人都能访问你服务器的这个后台呢。安全性可想而知,所以很多公司可能会这么做,他自己做了一个网页,网页上面呢,你可以做一些呃,大数据相关的工作,像数据采集啊,写SQL啊,提交提交架包啊等等啊,设置调度任务啊,那这个网页是自己开发的,那中间他们会写一层Java服务。也就前端发送请求给Java服务,那Java服务在干嘛呢?再去调用咱们熟悉的大数据框架的接口,那比如说呃,你调用data塔差的接口啊。呃,比如说你要计算,你就是have啊,还有什么Spark呀,呃,Flink啊等等等等啊,是通过这么一种方式来实现的嘛,你看前端,比如说你写的,呃,设置了一个同步任务,你选了数据来源my circlel,呃,写入HDFS。
06:10
那他是不是就知道你要谁找谁啊,当然你肯定要配一堆数据库的参数,像什么链接地址啊,用名密码,哪个库,哪个表,哪些字段,是吧,你配好之后,前端是不是将请求发送给Java,它调用Java的写的服务的一个接口嘛,那Java服务再根据拿到的参数去调用对应框架的接口对不对?那接下来这才真正去执行了,很多时候是这样,那你想如果这样,对于使用人员来讲,他是不是需要报错了,需要在网页看到报错信息啊。那这个时候如果你是基于雅安就比较麻烦了,对吧?啊,你处理过程当然可以实现,呃,但是它那个日志是不是又错误又长啊。对吧。那如果是电脑差这种传统的一个单进程的一个服务,那你要拿日志就比较简单,你本地是不是呃,直接生成那个日志文件啊,直接展示就行了呗,啊这是一个考虑啊选型呃,另外一个呢。
07:12
代表差最大的缺陷就是淡季,淡季那文件格式呢?它也是支持orc的啊,这些简单了解就行了,分布式啊,其实前面这些都在聊同一个事,它是单机的好。呃,它是不支持分布式的,这边是支持,但是你一定要单击吗,同学们。那单机怎么办?我们说通过调度系统规避啥意思啊,我是不是可以装多个节点呢?我互不干扰啊,比如说我现在有很多任务,比如说MYSQL,我有呃,100张表,大家注意是100张表我要同步,而且这些表总的数据量很大,我要同步到HDFS,那这个时候难道你就老老实实的就呃在一台机器上启动一个任务去同步吗?
08:06
那你可能觉得他单机那呃速度不快,那你可以干嘛,你是不是可以多台机器都去装啊。对吧,比如说你有呃三台机器,你都装一个什么对塔差呗。能理解吧,你手动来分嘛,那这边比如说我同步四张表,这边有30张表同步任务,这这边有30张表同步任务,你自己实现一个负载均衡嘛,对吧,那不就行了吗。对吧,所以虽然说是单机呢,它只是对呃单个任务而言呢,单个作业,单个旧本,它不是分布式,但如果你是你可以拆分成多个卷本,你就可以在多个实例啊,哎,就多个节点上面去分别执行就得了呗。啊。呃,流控,呃,什么叫流控呢?就限速啊限速。
09:01
控制你的速率。那所以我们也也就是说data塔差理论上呢,呃,可以将我们带宽打满啊,呃,另外呢,它的日志是非常详细的,Data塔差里面包括你的现在同秒同步多少条。多少数据量啊啊怎么样,他这些都打印的特别详细啊,因为毕竟是国内,而且是中文的,毕竟是国内开发的嘛,啊开源的。还有什么数据校验呢,监控呢,他俩都需要定制对吧。那说到这个社区啊,社区电脑叉呢,基本上呃,现在都是3.0版本很久了,也没怎么更新了啊,没怎么更新,因为其实还比较稳定了,没也没有太多问题,那SCO呢,这咱们这边写的一直活跃,核心部分变动很少,也就是说主体功能是不变的,但是大家注意现在SCO已经怎么样。已经停止维护了,他的PC都解散了啊。
10:01
为什么?因为已经没有可改的了,SCO目前是这个状态了,也就已经SCO已经是不再更新了,已经是封版了,并不是说被抛弃了,而是说他已经没没啥问题了啊。啊,这是咱们的一个对比啊,选型,所以大家心中有数呗,那可能还是有些比较困惑啊,那到底该选谁呢?对吧?呃,没人给你介绍两个对象,A跟B各有特点呐,A呀,呃。呃,外貌身材呃,什么气质啥的,呃,都挺好,那B呢,可能外观外貌身材差,强能力,但是家里很有钱,对吧?你该怎么选啊?没有谁对谁错,对吧?并不是说谁一定好于谁,看你的场景,如果你需要支持的数据源比较多,也就各种乱七八糟的地方都有,互相之间要做一个导入导出,那你优先对他差。
11:01
而且性能也差不到哪去,对吧,那么如果你只是单纯的关系很单纯对吧,我就是想找有钱的,想少奋斗20年啊,那如果你就是。数据来源比较纯粹,比较单一的话,比如说都是my circle,或者都是Oracle类似的这种,而且我都是要跟HDFS做一个导入导出,那么你选择SCO啊,也无可厚非啊,都可以,那么如果你是自己封装的,我刚才讲了封装一个网页,就那做一个平台嘛啊,做一个产品出来,那其实代打会更合适一点啊。就这么来就行了呗。
我来说两句