00:00
基本的操作咱们已经演示完了,那接下来呢,我们就讲解一下r DD data frame和data set它们之间的一种转换好不好,同学们,嗯,我这里呢,首先第一个啊,把前面先注掉,这个注掉啊,这个咱们都不要,然后前面这个也注掉。那首先第一个咱们先给它构建一个RDD吧,同学们来。RDD啊,写上一个等号,然后呢,没有没关系,因为咱们前面讲过了,咱们的Spark session,其实底层就封装了Spark的contest,所以拷贝拷贝过来在咱们这个位置来,咱们点一下,点完了以后咱们叫做Spark contest,对不对?表一下咱们叫做make r DD,然后写上一个咱们的list,然后写上一个括号一,然后逗号张三,然后写上一个30,然后写上一个写个R,写上一个我们的李四啊,然后呢,写上一个40啊,随便写俩得,然后接下来呢,我们的RDD有了,那现在你要干什么?
01:07
我现在是不是要把它的结构增加上,哎,所以你RDD有数据,但你缺少结构,所以RD点它有一个叫to,咱们的DF,这个to df呀,其实就是告诉我结构是什么就行了,第一个咱们叫ID,第二个咱们叫name,第三个咱们叫年龄,对吧?诶,这就是我们的结构,而我们的RDD当中就是咱们的数据了,所以这个时候点一下叫VAR回车,回车以后这个不就所谓的DF嘛,嗯,咱们就叫frame。所以同学们会发现这个就是我们想要,对不对,那好,那你这个是我想要的没问题呀,可是万一我有了data frame想变回到RDD怎么办?那这个时候我们说了DF点它是可以直接得到RDD的,所以点一下VR回车,回车以后这个地方稍微有点麻烦,麻烦在哪了呢?就是说我们的这个ARDD,它的泛型可能跟我们前面不太一样,因为咱们前面呢是一个tale,而这里呢是一个肉。
02:15
啊,它是一个肉,它会把咱们的数据都放在这个行对象当中,我们要通过它的位置来访问他,所以这种方式呢,其实也可以,但是呢,也就是说不方便啊,但最起码呢,它可以得到咱们RDD,这个咱们知道就可以了。好,那么我们接下来再往下看,下面叫data frame,这个data frame想变成data set怎么做那么好,DF我们讲过了,现在你的df data frame有数据,有结构,但是你缺少它的类型。这个类型不是说什么int呀,String,而是我们的业务类型,比方说啊呀,Student呀,Teacher啊,或者说我们的一些其他的那种类型,对不对,哎,所以呀,我要准备一个,咱们叫case class,我们就叫U啊,好叫做ID。
03:05
还有name,给他一个string,再来个age,给他个int,对吧,你这么写完了以后来吧,我们直接写上叫做点,有个叫S,把这个写上个U,就意味着你把我当前的数据和结构都给它作为某一个类型来使用,所以啊,咱们这么写其实就够了点,我们叫VAR回车,回车以后,那这个呢,不就是我们的DS嘛,咱们叫data set。那好了,那你data set有了,那你data set怎么能够变回到data frame呢?我们说了你只需要把你的类型去掉是不是就行了,所以DS它是可以直接to df的,直接to df,这个时候你拿到的VAR回车,那我们说了你就叫做D1吧,好啊,这是我们date f啊,就是它,所以互相转换没有问题,这个咱们之前其实也是演示过的啊好,接下来我们再往下。
04:03
下面说RDD如何变成我们的data set。首先你要记住RDD,它里面全都是数据,没有结构,没有我们的类型。按理说你要先有结构再有类型,对不对,但是其实不用,因为你的RDD呀,你要想有结构和类型,你样例类就够了,所以大家看我们写上叫做点,我们叫做map,这个地方呢,我们给它来,我们写上一个什么呢?我们叫kiss,然后我们写上叫ID,咱们叫name,再加上age,然后写上发过来我们的U的ID name,然后age,这样的话,我把我的RDD呢,转换成特定类型的一个数据集,那么这个时候呢,我们点点了以后,你再来to我们的DS,这个to DS,因为有数据,有结构,有类型,你变成data set没有任何问题啊,好,点一下咱们叫做va回车,回车以后大家会发现这不就是我们的data set吗?所以DS1啊,咱们叫D1,这个其实就够了,好了,那你这个可以是可以啊,那么我如何能够从data set再变回到RDD呢?
05:14
其实你把类型把结构全去掉,里面的数据不就出来了吗?所以我们的DS一点,我们叫RDDA,你会发现也可以VAR这个呢,我们写上啊,咱们叫做就叫U的RDD吧,嗯,URDD吧,然后把这个呢,我们稍微的变一变。好了,大家可以看到,现在呢,我们的data set和RDD之间也可以互相转换,这就是我们演示的他们的关系啊,好了,这个咱们先演示到这里。
我来说两句