00:00
那接下来我们要做什么事呢?啊,就是呃,准备一些数据啊,准备一些咱们来测试的一个数据,那数据有了之后,呃,来具体的操作一下,各种操作,像插入啊,查询的更新呢,还有增量查询对吧?啊增量的那还有指定时间点的查询啊,删除覆盖等等这些方式啊那么这边呢,不建议大家手敲了,为什么呢?啊有一些需要导入的包啊,那这一块呢,咱们就直接先拷贝啊,来拷贝这些import。好,那都import完成之后,接下来我们是呃。通过它自带的一个类可以去生成数据啊。那指定一个变量是表明,那还有呢,指定一个它的数据的路径,那这边为了快速演示,咱们就用一个本地的就好了。好了,这三个东西来拷贝过来粘贴。
01:00
好了,OK啊。那么大家注意这个数据生成器这个类是谁呢?是护底提供的啊,护底提供的。好了,那么接下来呢,呃,我们就来演示一下插入数据表,我们没有创建对吧?啊,无所谓啊,第一批写入它会判断表是否存在不存在,它就会自己创建了啊啊,所以我们就直接写就可以了,那么看一下这个写法啊,首先呢,我是将。呃,生成了什么呢?十条数据啊,生成十条数据,然后呢,做一个插入啊,这是它固定它的一个API啊,这个就按照这么写就可以了,然后呢,将它转成一个list啊,Stream里面每一个字符串啊,之后呢,将这个数据读成什么呢?通过Spark上下文,然后并行化读取,读取成一个什么呢?读取进来啊,那分区数我指定为二啊,随便啊,然后呢,直接去read Jason就可以了,那读成了一个DF,那通常来讲我们对护底操作都是用的Spark circle语法啊,Spark circle你可以用DF去操作啊,也可以写circle啊。
02:17
好,来,我们把它拿过来。稍等一会儿好,那其实上面这里就是生成的数据,呃,我们转成了这个list,大概就是我们看一条就好了啊。呃,到这里啊,这是一条数据啊,有TS啊UID啊,啊有rider driver啊对吧。等等一些字段,这是一个出行的一个交通数据。好,那接下来我们要将这个DF里的数据写入到whodi里面,那怎么写呢?哎,大家看啊,是其实这个写法如果熟悉Spark应该都熟了,呃,通过DF的right方式去写就可以了,那只要格式指定,为什么whodi,那之所以能够指定为忽底,就是因为咱们已经集成好了那个架包,你已经放进去了,那它就能识别这个忽底格式。接下来下面的这一些写法是忽底特有的啊,跟忽迪集成的时候特有的一些写法,呃,那这边我们是设置了一个quick克斯star啊,快速入门的一个案例配置啊,就简单的配置。另外呢,有几个东西先给大家讲一下,一个叫pre combine field,这个东西是什么呢?呃,Pre buy就是可以理为理解,为什么呢?预聚合字段这个东西主要是通过来去重使用的另外一个东西。
03:51
解释了一叫key啊record key啊,这个就是咱们前面一直在在一直在讲的record key啊,指定record key为UUID这个字段,对吧?那接下来就讲一讲这个有什么用啊,举一个例子啊,比如说我的呃,Record key是呃,有一条数据是一呃,那么呃值是比如说A,然后这个时间戳,比如说是呃十面十吧啊是十。
04:22
那么如果我又来了一条数据。1A,呃,11,其实这个语句和字段就指定了,诶我当我的record key相同的时候,因为我们record key是要保持唯一性对不对?那如果出现重复,它取哪一条啊,哪个值,它会取语句和字段这个值较大的那个数据,比如说有这两条数据啊,Record key都是这个啊,都是一重复了,对吧?那么它就会取下面这条字段啊,假设咱by key指定的是这里的话。他就取大的啊,所以这个可以简单理解为就是驱虫的时候用啊,驱虫的时候用。
05:05
所以你就得呃考虑这个豫句和字段用什么比较合适啊,用什么比较合适,通常来讲常规的就是用一个时间戳字段就就比较理想啊,那这个record key你也得去考虑啊,用什么样的好一点。最好你不要说出现大量重复的,那就不合适了啊,就类似于你去设计数据库,一张表组建,你来怎么设,那其他的就没什么了,这个是一个什么分区的字段啊,用哪一个作为一个分区字段,然后呢表明就没了,然后呢,模式选择一个覆盖,然后保存到路径,这个路径就是护地表的路径啊护地表的路径那你看我们上面已经定义了一对吧,这个base pass。这是一个基本路径,对吧,路径就写到表明,以表明作为一个文件夹的名称就可以了,好吧,好,那就是关于这几个基本参数的解释,那我们来做一下啊。
06:14
啊。好,等他执行完,执行完了对吧?那么接下来我们怎么看呢?来我拷贝一份,呃,在我们指定的这个路径下面,应该是有忽底的目录,生成的忽底表的目录,还有它对应的什么原数据目录啊,数据目录啊来我们来搂一眼啊,这个路径我们定义的是本地文件系统tmp,下面来我们瞅一眼吧,啊,CDTMP,然后呢,看一眼啊,这个有点多对吧?但是我们看到了有一个什么who d chis cow,这个是不是就是咱们建的这个路径了,对吧?进来好再看一眼,那么大家可以看到现在的这个文件夹是什么东西呢?啊,就是分区,就是我们的分区目录,呃,这个就是亚洲对吧,这个是美洲啊,我们的分区是按照这个来的。
07:14
我们看一下这个数据啊,这里有一个字段叫做partition pass啊,我们指定它为分区字段,对吧,它的值有什么呢?什么啊美洲的啊什么什么什么,你大家可以看到这个值是不是什么嵌套的,有三层的吧。那我们随便看一个吧,比如说这这是其中一个分区啊,是一级分区啊,进入这个America's再看一眼,诶,你是不是看到又有一层文件夹了,那是因为咱们使用了多级分区啊,也就是说多级目录了啊,每周下面的这里还有这里啊来随便看一眼,在里面还有一层对吧,还有一层好再来再看就没了吧,这里面只有一个什么文件点。
我来说两句