粉丝1160获赞4709

好,接下来呢,我们就自己制定一个分区啊,那首先看一下需求啊,说将统计结果按照手机归属地不同省份输出到不同的这个文件当中,那输入数据 这个很熟了吧?这就是我们最原始手机号流量那个输出数据啊,一模一样的,没变,那这样下我们期望输出的结果呢?是手机号幺三六幺三七,幺三八幺三九开头的,放在每一个独立的四个文件当中, 那其他开头的呢?放在一个文件里面,那最终就是五个文件呗,是这意思吧?好,需求分析一下 输入数据期望输出的结果五个文件,那么我们怎么来实现这个功能呢? 你要想控制最终文件输出的个数,那我们通常的做法呢?就是增加一个分区,那这个分区 我们会将这个手机号是幺三六开头的,设置为零幺三七开头的一幺三八幺三九,其他, 对吧?哎,这样一套流程哈。好,那下面呢,这个一共三步吗?你这个定义完这个类之后,第二步你需要在驱动类当中关联一下对应的这个新自定义的分区,同时还要设置一下 redous 太和的个数,你要不设置他的话, 那不白忙活了吗?因为默认这个轮子太子是一啊,而且还不会走你这个分区,对吧?那我们先来写一下呗, 写一下,写一下的话,我们就基于我们之前这个案例。之前哪个案例啊?手机流量 这把虚电话这个吧。啊?手机号流量啊,就根据这个案例啊,一模一模一样,不用动啊,不用动的基础上呢? 改啥呢?只改他的驱动。我们回来啊,回来在这给大家实操一下啊,我把原来这个 rat 包这块我先拧一个吧, 用一个拍开的一二一二趴推身那吐啊。第二个力,我把原来的这个一模一样的拷贝过来粘贴。 ok, 拷贝过来之后啊,这里面我们单独扭一个类, 你以为谁呢?帕尔 k 森呢?哎,那这个名字用他的吧,省份分区比较长啊。 好,第一个类,第一步定一类呢,之后继承帕泰森呢,对不对?帕泰森呢,这里面有两个,选哪一个选长的?哎,记住啊,选长的,长的好用 之后这里面要有对应的这个饭型,你看一下啊,饭型 kv, 那这里面的 kv 怎么设置? 分析一下我这个扒开身呢是从哪出来的?是不是从麦克方法出来,对吧?然后经过分区 最终去了 redows 方法。好,那卖法里面有输入的 kv 和输出的 kv。 redows 呢?有输入的 kv 和输出的 kv。 那你想想这个分区他的 kv 应该是谁? 是不就是迈巴输出对应的 kb 啊?哎,那好,那这个 kb 呢?拿过来找一下 pass 的手机号以及流量 往这一放,往这一放之后发现还爆出 out 加灰车实现里面的方法 不行吗?哎,重写他,那重写他的话,这里面传进来。 k 传进来。歪了。 k 是谁? k 是对应的手机号啊,你说他是手机号, 那我们按照手机号的前三位进行控制分区。那怎么办?我这是 pass 的类型。那我得转换成子俊,得到他之后接下去 off 得到。得到他之后我们要取手机号的前三位啊。 前三位怎么取呢?放点杀不死对不对?哎,然后比定从零开始取到哪取到三 啥意思?包左不包右零一二对吧?哎,零一二前三位,那这个三呢?是没包进去啊,要点袜,那这呢是 t r epron 直接去 o n e 啊, pro 得到前三位,得到前三位之后我要进行判断了。判断什么呢?说衣服, 如果我手机号是幺三六开头的,第二一口等于普瑞货啊,记住啊,一般我们是把这个常量放在前面进行一个比较啊,防止公认。 这样,然后呢,那如果是这个,我说得定一个变量作为一个返回值啊,那变量我定一个印,为什么是印呢?因为他的反馈值类型是印的, p a r t id 等于默认值。我也不给了, 直接在这里面都复制他呢。首先幺三六啊,复制给零号分区,然后 l 字衣服, 幺三七点一口子啊, three fok boss, 再来,那下一个呢,就是分区一啊,这有点太慢了啊,这样就行, 幺三七幺三八幺三九,零号分区,一号分区二号分区三号分区 f, 其他所有号码,帕特森, 帕尔提森等于四不就行了吗?然后这块别忘了啊,最后的返回值,返回的是帕尔提森, ok, 这样整个代码呢就写完了。写完之后啊,哎,我们还需要第二步和第三步。那第二步呢?回到这个转弯驱动类,然后这里面设置一下,比如说让你 刚才写的这个帕提神灯得跟你这个造吧呀,建立连接, 你要不建立连接,他们个人走的仍然是哈西牌跟,那对吧,那 pr e f plus, ok, 这是第二步。那第三步呢?你还要设置一下这个南波 redows pas 个数是几呢?五, 因为我这里面的分区数是不是零一二三四五啊?啊?那五,那我这里面就设置五。 ok, 那最终这个输出, 我输出应该是五吧,看五有没有啊,改个滤镜 没有吧?哎,我这个没有,没有的话我们就用它。行,那下面呢?右键执行,看看效果怎么样啊? 我们期望呢是输出五个文件能不能达到我们的效果。五,看看好了,是不是五个?哎,五个打开对吧?零啊,四三二一零,我零号分区是幺三六开头的, 一号分区呢,对应的幺三七二号分区,幺三八三号分区、幺三九四号分区对应的是 其他杂七杂八,对吧?哎,其他一些开头的。嗯,这就是我们整个这个,呃,自定义分区相关的案例,可以控制输出多个文件啊,这种方式呢也是非常好用的哈。

好,接下来我们来看一下 aj 范 s 对应的优缺点。首先来看一下他的优点。第一个,高容错性。高容错性我们再讲这个, 哎,对吧,啊,还多入门的时候其实讲过对吧,哎,其中的说数据啊,自动保存多个副本,他可以增加副本的形式,提高融合性。怎么理解了?比如说这里面有三个副本,对吧?三个副本,其中一个副本挂掉了,那他会怎么办呢? 他会自动的复制一个副本。那当然你得有有箱的机器哈,你别没有那么多机器,那不行啊。比如说你有四台机器,那其中挂掉一副本,那自动会拷贝到下一个伏器上。 那再往下找适合呢?处理大数据的场景。比如说我这个数据规模, 一个文件大小,在 gb、 pb 甚至 pb 这么多数据,我都能够进行处理, 哎,非常强大啊。那再往上,那如果说这个文件不大,非常小,但是呢,我很多,我能不能处理呢?能处理,你即使有几百万个文件,我也都能够正常处理。 比如说无论你是文件个数很多,还是某一个文件很大,都没有问题。再往上,可以构建在廉价的机器上,这个很硬核啊。 你像啊,以前在大数据开发的时候啊,都是买那种啊,小型机,每一台机器啊,都几百万,那性能非常好,但是呢,价格也非常贵。那这个处理大数据呢?呃,这个好的公司没有这个成本啊,没有这个钱去做。 那现在呢,大家可以部署在这种廉价机器上,就咱们这种普通笔记本都能当成福气进行处理,因为有副本概念呢。你这个挂了,我可以往别的机台上复复制吗?哎,所以说这个很好用啊。呃,这也是为什么大数据能快速落地的一个原因。你说机器啊,越来越便宜了啊。 那看一看这个 aj ys 有哪些缺点。那第一个不适合这种低延时的数据访问,比如说毫秒级的数据存储,那他是做不到的。你说我想拿这个 adys, 类似于做到像买伺候这种快速的查询,快速的正常检查行不行?对不起,他不擅长这个。 他擅长的是快速的把数据存进去,然后进行查询。哎,只适合查询啊。查询这个数据量越大越有优势。那你像买这块里面,你要往里面灌一个,呃,一 pb 的数据, 他根本都存不下。这是不同的应用场景啊。说无法高效的对大量小文件进行存储, 这是他的一个问题啊。因为呢啊,像内蒙古呢,我们正常在生产环境下呢,是一百二十八 g 的一个内存来存储文件啊。内蒙古的,那他能存多少文件呢?给大家留个作业啊。一个文件块占用一百五十个字结。 哎,记住哈,我说的是一个文件块的一个存储。那这一个文件块呢?你可以是一百二十八兆,也可以是一 kb, 对不对?不管你多大,他都是一个文件框,都要占用一百五十四 g。 那如果你这里存储的是大量的小文件,比如说 ekb, 那有可能就会把你他占满。一百二十八 g 的内存 能存储多少小文件呢?哎,存储九亿个,留个作业。告诉大家怎么算呢?啊,留个作业啊。啊,大家回去思考一下,一百二十八计的这个内存,每一个文件框呢,是一百五十字结算出来,最终能存储九亿多个文件框,怎么算呢? 作业后面呢,我会给大家讲,先留一个思考,再往上。小文件存储的寻指时间会超过读取时间,他违反了 atps 的一个设计原则啊,也就是说,如果你小文件太多,特别多,对不对?那到检索的过程的时间都比你读这个文件的这个时间 要长。你看啊,我要找到这个文件,我可能花了十分钟啊,我举个例子啊这是,那么我读这个文件可能一秒钟,对不对?哎,那这个就非常慢了。那就类 所以这个宋老师对吧?啊,要去一个呃足疗店找,这个足疗店花了十分钟。那去了之后呢?啊,他只用了两秒钟就离开了,对不对?嗯,那我来看啊,说不支持并发写入文件的随机修改。那怎么理解呢? 说一个文件只能有一个写,不允许有多个现成同时写。你说我这个 aj 牌子啊,我有一个文件往这里面上传,你说写操作, 那他不允许有。再有一个客户端也写这个文件,同时都写一个 啊,同一个路径,那不行哎,他不允许多见成并发的写啊,就是一个一个写,你要不你就你来写啊,要不你来你来写。再来说,谨支持 数据的一个追加,不支持文件的一个修改啊,刚才已经给大家演示了,比如说你侦查这个文件啊,哎,他可以在这个末尾进行往下写,但是呢,不允许说修改历史的这种数据,这个是不允许的。这就是 adfs 相关的一个特点啊,有优点有缺点, 那你只有知道他的优缺点,那后续你在进行框架技术选型的时候才能更有针对性,这个一定要了解他的优势和劣势。

