温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
RDD的创建方式呢,我们这边已经给大家介绍了两个啊,那么刚才是一个我们从内存中创建,然后还有一个是从文件中创建啊,那么从内存中创建呢,我们有两个方法,一个叫paraelly,一个叫make r DD,那么make r DD呢,其实更好理解一些,对吧,叫生成RDD,这个恰恰是我们想做的啊,然后传一个我们集合就行了,咱们的例子当中用的是我们的list,我们自己写的代码当中用的是s seq,这个都没关系啊,同学们,这个都没有关系的啊,还有我们接着往下,下面呢,我们会发现make r DD的底层其实依然是我们的para方法,所以这两个方法呀,不要把它区分开,其实就是一个啊,对吧,只是我们用这个更好理解一些,然后呢,我们下面呢,是我们从外部存储当中来创建RDD,其实外部的存储有很多文件只是其中之一,那比方说我们hadop是吧,比方说hdfs space这个都是可以的啊,那我们这个地方有个叫t file,这个T。
01:00
呢,它会有一个路径的概念,我们分别给大家解释了一些它路径的不同写法,但是其实啊,有个什么问题呢?大家想想,如果你指定的是某一个目录文件夹的话,里面如果是多个我们的文件的话,那问题来了,你怎么知道你的数据到底它来自于哪份文件呢?按理说我们只要读文件我们就完事了,可是在某些情况下,我想知道你的这个数据的来源来自于什么地方,那该怎么办?啊,这个呢,我们Spark也提供了对应的方法啊,这里给大家介绍一下来把这个给它关掉啊关掉,嗯。然后呢,拷贝,拷贝以后呢,我们还叫file,然后呢,我们加上个一啊,诶好,然后点击OK行了,把这个放过来,那么我们这里呢,还是从文件中创建,但是稍微的有点不同了,所以SC,然后点我们用这个啊用这个方法,这个方法是什么意思,不懂不知道,那所以呢,我们来写上来写上一个路径,我们叫date。
02:09
好了,写完之后写上一个RDD,然后呢,把这个拿过来,点我们叫collect,然后呢点我们叫做for it,给它一个print,这么写就是OK的,写完之后现在呢,我们来运行啊,咱们看一看咱们的运行结果到底是什么。大家有没有发现我们读取到的内容是这个样子的,这个跟咱们之前讲的不太一样啊,这里我们要做一个说明了,来咱们之前呢,给大家用的是一个叫tax file的方法,那这个方法呢,它是以什么呢?以行啊为单位。以行为单位啊来,我们叫做读取数据,所以说你每一次读到的呢,其实是什么?是我们的一行数据,它不考虑你的文件来自于哪里,它是不考虑的,对不对,但是我们的这个方法。
03:02
它就不一样了,为什么呢?它其实它是能够识别出来你的数据来自于哪一个文件的啊,所以呢,它是什么呢?它是以我们叫文件为单位啊,为单位来读取数据,所以大家会发现在咱们这个读取到的结果当中,它会有一个小括号,这个小括号在我们的语言当中叫做元组吧,然后中间是不是有个逗号,这个逗号就是说它这个路径是我们的第一个啊,是原主的第一个元素,它表述的是什么意思啊,就是我们的一个就是文件路径啊,你的数据的来源,那么我们第二个是什么?第二个就是数据本身了,文件中的内容啊,所以我们这里也说一下啊来。那么读取的结果啊,读取的结果表示为啊,表示为我们叫做元组,那么我们的第一个元素啊,它表示我们的文件路径,那么第二个啊,第二个元素它表示什么呢?表示的是文件内容啊,这样的话,我们可以区分出我们数据来自于哪个不同的文件,所以这个跟前面就不一样了啊,前面是以行为单位来读取数据,所以读取到数据其实基本上都是一个字符串,对不对?所以啊,它写上我们叫读取的数据,它都是啊,都是我们的字符串,所以稍微的有一些区别,你把这个区别搞明白了,其实不就可以了吗?它这个地方呢,Hello word后面会到这儿呢,是个换行,大家看一下,咱们这里是有换行啊,它自动就换到了这个位置,倒不是说它有什么东西啊,这个呢,了解一下吧,同学们有一个特殊的方法。
我来说两句