00:00
好了,接下来我们讲一下RDD转换为data frame,咱们之前说过了啊,我们可以读取我们的文件,把文件当成数据源,然后形成data frame啊进行操作,那我现在呢,诶没有文件了,那可能就有一个RDD,现成的RDD,我想把RDD当成咱们的数据源,那么这样的话也可以把它转换成data frame,这个没有任何的问题啊呃,但是呢,我们说了,你要想转换成data frame的话,它其实啊就是一种封装,那么这种封装啊,我们要把他们的关系搞明白,那这里呢,我们来打开,我们把这个呢文件打开啊,咱们给大家画一些图,让大家把它考虑清楚好不好,同学们看啊,咱们接着往下来,往下,那我这里呢,就创建一个啊,咱们写上咱们叫做Spark啊,咱们的circle,现在呢,我们要给大家看什么东西呢?就是说我们要给大家画一下,那比方说我现在呢,有一个咱们就写上叫RDD,这个呢,就是我们的RDD,但是我们RDD啊,咱们。
01:00
更关注什么东西呢?RDD,其实更关注的是数据本身,就是你有什么样的数据,对不对,所以啊,我们这里呢,给它一个颜色,红色吧,嗯,好,在这个地方呢,我们给它添加,哎,就添加它吧,添加它然后呢在这里面放过来,然后呢,我们写上一个我们的一啊,咱们的张三,然后给个30,但是你记住了啊,我们只关心咱们的数据,你说这个一张三和30代表什么意思,这个咱不知道对吧?这个咱是不知道,咱们只知道有一张三和30。但是到了我们的data frame就不一样了,Data frame呢,其实它就要更关心结构了,对不对,当然它也得有数据嘛,所以呢,我们在这个地方咱们包一层啊,咱们给它来包一层,放到这边,然后呢,我把这个放过来啊,放过来,放过来以后啊,诶咱们往上往上放房来把它颜色我们变一下,比方说变成一个绿色,那么这个时候大家看一下啊,我现在我们这边就写上咱们就不是RD了,咱们叫data frame,那好,那如果你叫data frame的话,这个呢,我们给它来啊,咱们放过来给它回航。
02:09
回航以后在这边这个太高了,哎,所以给他放过来。好了,Data frame,那么我们的data frame是什么呢?Data frame呀,其实更关心的是它的结构,对吗?同学们,所以把这个呢拿过来放到这里,咱们写上咱们叫做第一个,一代表的是我们的ID,那么张三代表的是我们的名称,然后呢,我们的30代表的是我们的年龄,所以在这种情况下,你会发现它跟数据就能对应上。对吧,同学们,所以啊,Data frame就有结构,而RTD呢就有数据,他们包装在一起就可以当成二维的表格,这个就是一列一列的,这个是不是就一行一行的呀?哎,这个能不能明白,同学们好,那么我们现在就看看我们该如何去进行操作,接下来我们就看一看咱们的这个data frame和RDD之间该如何转换,那首先呢,我们来打开咱们的窗口,这个窗口当中我们要干嘛呀?我们想要把咱们的ARDD先构建出来,所以我写上一个RDD,它等于我们叫make r DD,然后呢,写上一个list,写个1234,就这么简单,那你这么写完以后回车,诶,RDD就已经构建出来了,但是我们想要的可不是RDD啊,我想让它形成二维表格,我操作起来方便,那这个时候我们该怎么办呢?咱们前面说了,你的RDD,你关心的是数据,数据咱们现在不经有了吗?有了数据之后。
03:38
那我们缺什么呀?你想把它变成data frame,你缺什么呀?同学们,你是不是缺少结构啊?所以如果你能把RDD把结构给它增加上,那不就OK了吗?所以RDD点你按个tab键,按个tab键你会发现会有很多的方法,其中它有这么一个方法叫to df,这个DF就叫data frame,所以呢,我们写上叫to df,但是我说过了,你得把结构告诉我,就意味着你的数据是什么含义,那咱们1234,那不就是ID吗?所以我写上个ID就可以了,然后呢,我在前面给他个DF,然后呢我们回车,回车以后大家会发现在咱们当前的这个位置,它就有一个data frame,它里面的结构就是一个ID,它的类型是int,因为啊,咱们这个是在内存当中的RDD的数据源,所以呢,它的类型是可以确定的啊,是一个int类型,那好。
04:38
好,那你这个DF有的话,你该怎么去展示它呢?所以回车,回车以后大家看一下,我现在就可以把数据1234展现出来,那么RDD就变成了data frame对不对,就是这个意思,那好,那么画图的话,咱们可以把这个呢往下稍微挪一下了啊,挪一下,挪一下以后咱们就告诉你我们的RDD可以变成什么呢?我们的frame就是这个意思,嗯。
05:05
好了,把这个呢给它来,我们就写上啊,咱们叫做to,咱们的DF,然后里面咱们写上叫做列名吧,哎,就叫列名啊,列的名称,诶列名一,然后呢,我们的列名二,哎就是这个意思了,那行,那现在呢,你能够把咱们的这个RDD你变成我们的data frame,那是因为你没有结构,我增加结构就行了,那反过来你能不能够把咱们的data frame再变回到RD呢,对不对,诶这个我们来看一看,就意味着我现在想把咱们的data frame我变回到咱们的这个位置啊来啊,把箭头呢换一换,这个能不能做到呢?咱们回过头看,这个我们叫DF,咱们点按个tab键,这个tab键你会发现它的方法特别的多,但是其中有一个在这儿。什么东西啊,哎,它可以直接把data frame转换成RD,所以来RDD你这么写就行了,那你这么写完以后会变成什么样的呢?所以回车,回车以后大家会发现它就变成了这样的一个RDDRDD有个中国号泛型,泛型里面是什么呢?叫做肉。
06:17
这什么意思啊,哎,也好明白,你的data frame不是把它当成了一个二维表格吗?那把你们把那个我们的列去掉了,是不是体现行了。能明白吗?你把结构去掉,是不是等于列就去掉了,那不就一行一行的数据了吗?所以它里面是一个行,这个我觉得没有什么太大问题啊,所以那么我们想变成RDD是肯定可以的,所以呢,我们直接就完事了,这就是我的data frame和RDD之间的一个关系,我只要增加我们的结构就变成了data frame,如果我直接转换成我的RDD,不需要我们的结构就变成了RDD了,对不对?就是这个意思。
我来说两句