00:00
接下来呢,我们再从我们文件中把RDD呢,我们在创建一下,好吧,同学们来。呃,我们把这个呢给它关掉啊,关掉以后我们拷贝啊,拷贝一个咱们叫做零二,然后呢,这个呢,我们写上啊,咱们叫file,然后点击OK放过来改个名称啊行了,然后这边我们还是创建吧,但是我们是从文件中啊,咱们从我们的文件中创建。好,那我现在呢,把这个呢,我们先给它去掉,咱们先不要了啊,这个咱们也不要了。那从文件中创建RDD的话,将内存那就不对了,应该是将文件啊,将文件中集合的数据,这个叫文件中的数据吧,就不叫及合了啊,作为处理数据源啊,把那个数据源设定为文件了,那这个咱们其实之前是讲过的,咱们在最开始给大家做word的时候是不是用过呀,所以呢,SC咱们叫做点叫text file,然后写上一个路径,这个路径我们要给大家稍微的说一下啊,来咱们说一下咱们的这个pass的这个路径啊,路径它默认是以我们叫当前环境的什么,我们叫根路径啊,根路径为基准啊为基准,所以啊它是可以呢,可以写上啊,咱们写叫绝对径啊,绝对路径。
01:22
啊,也可以啊,写什么呢?我们叫相对路径,哎,就是这样的,所以啊,它的这个路径呢,你可以固定写死了,比方说举个例子,大家看我们有个date是吧,然后呢,里面有个一和二吧,我现在把这个文件来,我们给它复制copy copy以后大家会发现这个就是一个什么叫绝对路径啊,它指向的是一个固定的位置,但是在某些时候太长了会感觉不方便,所以SC点我们叫text file,我们也可以写相对路径,那么它相对的就是我们当前的项目的根啊,以这个路径为基准来查找它,所以这样的话就比较简单了,咱们叫date式,然后写成一个e.text你这么写就是OK的,然后点我们叫va回车,回车以后它就是我们的RDD,由于你读取的是文件当中的数据,那么文件是一行一行的字串,那么你后续处理的这个类型就是字串类型。
02:22
对吧,那所以呢,我们写上叫RDD,点我们叫collect,好,然后点for it,然后呢给它print。行了,那我现在这么写完了以后,我们再来试一试,刚才咱们用的是make r DD是从内存中把RDD构建出来,我现在是通过文件的方式把RDD构建出来啊运行一下。运行以后啊,咱们来看结果正好呢,我们回过头来呢,看一看咱们当前的这个文件叫1.text打开,打开以后大家看一下,Hello word hello Spark,诶跟我们现在打印的结果是完全一样的,没有任何的问题,对吧?诶这就是我们的从文件中创建。
03:06
好了,诶,老师,那难道我们只能这么写吗?不是,所以我们这里还得再来补充我们的这个pass,它的路径,它可以是我们叫做文件的具体路径的具体路径啊,咱们叫做具体路径也可以是什么呢?也可以是我们的目录。咱们叫目录的名称,就是说呀,如果你想读取多个文件的话,不见得非得是像咱们现在这样指定某一个具体的文件,不是的,你指定目录名也可以,那比方说我们这儿呢,来把这个我觉得放下面来吧,嗯,放下面来把这个呢给它注掉。把它注掉,注掉以后呢,我们在下面这写上咱们叫SC,咱们点叫text file,然后里面写上叫date,这个date它指向的就是这个路径,记住啊,不指向具体的文件,然后呢,我们再来我们写上叫做RDD,因为它有类型推断,所以这个你不加是可以的啊好,那我们现在再来执行,这个时候执行啊,他就会把这个目录当中的所有的文件全都会进行统计。
04:15
所以啊,这个比较特殊一些,不是说只对一个文件统计,它可以对某一个目录当中所有的文件来做统计,大家看全都出来了,对不对,诶就是这个意思啊,所以这是我们的这个路径的问题,还有那老师,那如果我想去读取一些有规律的怎么办?比方说大家看来咱们拷贝,我再写上一个叫一对吧,点击OK,那比方说我这个二呢,我就不叫他了,那咱们叫做什么呢?Have是吧,我们叫做hadoop,嗯,好,那这个时候我们干嘛呢?我们这样大家看我们接着写我们的pass,咱们的路径啊,咱们的路径它还可以使用,咱们叫通配符,通配符呢,就是我们就简单点,其实可以写一些别的,但是我们就写个星号就行了,那这个通配符怎么用啊,咱们这么来啊,把这个注掉。
05:05
咱们叫sc.text file,然后写上咱们叫做什么呢?叫DATE4,然后是一星号点TST,你这么写了之后,大家观察一下,咱们这个二是肯定读不到的吧,只有咱们幺幺和这个一是符合这个要求的星号通配符,可以有可以没有的意思,对不对?那我的幺幺,Hello word hello Spark hello word hello Spark,这个叫have和had,那肯定是读不到的了,所以我们再来运行啊,咱们可以看一看啊,这个时候呢,我们的数据呢,可以读取出来啊,你会发现有那个have和hadoop吗?没有啊,是这样的,好,那我们刚才演示下基本上都是什么本地的路径,其实我们的pass它还可以啊,还可以是我们叫什么呢?叫分布式系统路径啊,分布式存储系统路径,比方说我们的HDFS。
06:02
啊,你访问我们的HDS的话,也是没有任何问题的啊,但我们这里就不给大家演示了,因为只要径写的是对的,我相信没有问题啊,嗯,比方说写上一些我们具体的路径,这个呢,咱们就HDFS,然后呢写上比方说LINUX1啊,然后写上8020,诶然后写上我这没有啊,我这没有,那我就随便写个test.t对吧,这样的话也是没有问题的啊,也是可以的。
我来说两句