00:00
那下面呢,我们直接通过几个案例啊,来详细的体会一下,那首先我们看一下使用broke的方式怎么指定呢?来你看这是一个查询语句,然后into fire h DFS路径我指定到这里,对吧?那后面这个表示什么?最终导出文件的一个前缀,对吧?我用broke_A来表示啊,那格式指定为CSV,好,那怎么指定为broke呢?在参数里面我们要指定name,那么它就会走broker了啊,那这个我之前配的名字是不是就broke name对吧?啊,对应起来,另外我们还可以指定列的分隔符,行的分隔符,还有最大文件大小得到五兆到两个G之间,对吧?这只是给大家演示一下。哎,我们直接走看一下啊,现在就是啊来。
01:01
那我们直接拿HDFS看一下。呃,9870啊。你看指定的do out是不是自动生成了这个路径啊,然后点进来你会发现这个文件是不是携带了一个前缀啊,这个前缀叫什么?Broker_A还有一个事是什么?是不是这个东西啊。一个序号啊,由于我们设置最大文件大小是100兆,那我当前导出的数据量其实才400多B,不到500字节,对吧,所以肯定只有一个文件,那序号就是零,那中间这一串就是一个查询ID啊。我们看一眼数据吧,哎,点一下你看是不是这些数据都出来了,并且大家关注一个事情啊,我们知道。这个是什么闹值?对不对,那我们知道,如果未来你用have的话,它底层存储not是不是斜杠大N呢?对吧?如果你其他数据库是一个真正not值存过来,不不做转换的话,是不是变成一个字符串的闹了,并不是真正的控值,对吧?但是在我们这种直接导出的方式,你不用担心啊,它会自动转变成斜杠大N,对吧,这些是闹纸啊,所以不存在那个问题。另外我们看一看分格符是不是逗号啊,对吧?没毛病啊,没毛病,这个是通过broker,这是通过broker来跑的,那我们再看一下其他案例。
02:34
这次我们把它导出为一个什么pack,那这里呢,你看我只选了三个字段就好了啊,因为要指定一个stemmer啊,太多的话就就比较麻烦了,对吧,不好写,那么看一下这个路径,我就指定为broker,然后前缀是个B啊broker b格式指定为part。指定broke name在之后指定stemmer啊,Park的格式一定要指定,那就是把你需要的这些字段的stemmer都都把它填上啊,那你看有什么UID啊,CH啊,跟这几个要对应起来。
03:15
那类型呢,你可以写int多少或者字节数组啊都可以,那前面就固定写一个required就行,那我们试一下吧,看能不能跑。啊,这一列是一个垃圾int,还不支持,我尝试着改一下吧。我把那个UID字段给去掉了,因为它是large int类型对吧?呃,刚才报错说帕的格式不支持large int。来,剩下两个字段应该没啥问题,来看一下。你看可以吧,对吧,它有一些类型是不支持的啊,那我们来看一眼呗。
04:03
呃,刷新。你看。这个是不是导出为一个pack的格式,而且前缀是broke b,这是咱们指定的对吧?呃,然后由于数据量太少了,达不到那个分文件的条件,所以只有一个,所以是序号零,那中间是查询ID对吧?好,我们看一下这个应该。可以看吗?啊,这个没有刷新,这个不是来刷一下。像这种PU的格式,这里是不是看不懂啊,对吧。因为它劣势存储嘛,好,那演示完这个我们再演示一下,其他的前面两个都是broke方式啊。按接下来也是一个直接用HDFS导出,那我们看一下这个语法还是一样啊,前面查询语句后面呢也是指定fire pass,那前缀我就指定为HDFS格式CSV,那如果想要使用HDFS必须指定这个,这个是必须指定的。
05:07
那这个我们也可以指定一下上呃,导出的一个用户啊,操作的用户。这个就跟你配置文件保持一致就行。好,我们直接导出看一下。那么大家可以看一看啊。呃。Stories out。哦呃,应该是啊,这这个fire pass不用写这个前面这个,因为下面已经指定了,对吧,这是HDFS导出方式特有的,我改一下啊。呃,就把这个去掉就行了,协议不用指定了。
06:05
好,改成这样子,来,我们再试一下。又漏了协议对吧,还是这个路径的问题,同学们,呃,就这个地方我们还是要写一个HDFS,然后杠杠就可以了,就不要写这个IP跟端口就行了啊,这个这个还是需要的啊,这个还是需要的。那我们在我刚才又试了一下来往下看,我又重新执行了这个语句是OK的,你看我把路径改成这个,它就很OK啊。前面带一个协议啊,然后直接跟上,呃,直接路径就可以了,好,那我们看一下。呃,Do out对吧?来,你看这里是不是生成了一个HDFS前缀的一个文件了,并且我们知道数据量小小于默认的。
07:05
呃,设置的maxx fire size对吧,所以只有一个序号为零啊,格式为CSV啊好,我们看一下。那你看默认的分隔符用的是啥呢?变杠T了,因为我们没有指定一个分隔符。我们再刷新一下,看一下。那这个分隔符怎么指定呢?就就是上面这个嘛。啊,列分隔符为什么啊。这。这个我们呃,再试一下呗,来,比如说我把它指定为指定一下这个。再加一个属性。呃,我这次用竖线啊,这次用竖线好吧,来再让他执行一遍。
08:12
哦,不能用竖线,要么逗号,要么杠T斜杠T对吧,我们前面刚给大家讲过,哎,改成逗号返回车。啊,还是。哦,这里多了一个逗号,我说咋回事呢?是里面这个逗号啊,没事,我们最后来一遍应该就OK了,好,这次OK。你看呃,文件数一个总行数七个,文件大小四百87字节啊,URL是这个啊,我们认准这个后缀啊,什么8D0的啊。刷新一下。你看8D0哎,是不是这个对吧,这是我们重新导出的,看一下你看那现在是不是正式用逗号分隔了,对吧,这个地方刚好前面给大家讲了,要么啊在前面有讲啊。
09:13
呃,在哪呢?呃,这里。列分隔符仅对CS非格式适用,默认呢是杠T啊,这有个特殊的地方,那format。那有同学说,那我format as没用啊,那其实它是。最大的作用在于哪呢?生成的文件的后缀啊,点CSV而已,对吧,那你看我们这个虽然也是点CSV啊,没刷新啊刷新一下。之前导的这个,但他还是用的斜杠T啊,所以我们要去指定一下好了,虽然说CSV只是意义上,意义上他没有做严格的校验和区分。
10:00
那我们再来看一个,呃,事例,刚才不是讲了一个并发导出吗?对吧,有三个条件。还记得吧,抽烟第一个变量开启,第二个不是broker,第三个没有这种,呃,Orderbi这种,好,那我们来看一下当前这个例子。啊,把它这边得改一下啊。啊,你看我们现在多做一步,就是set这个变量为处并发导出的这个参数开关啊,设为处,那把负值去掉可以看一下啊,看不了它的值对吧,已经设成处了,接下来我们执行这个。当然我们感觉不到,所以呢,我们给一个什么explain。好。呃,很长对吧。缩小缩小缩小啊,缩一点啊。
11:02
应该,哎,输太多了,输太多了。好,我们来看一下,呃,我们找什么呢?找一个result I think。是不是这个看它是在P1还是零啊往上翻,你看现在这个是在哪。是不是在计划一里面,我们刚才讲的,如果在计划一说明确实是用了什么。并发导出啊,确实是并发导出,那如果他这个result fair think在零里面,那就没有生效啊,那这样就行了啊。这里给大家写一下好吧,Spring看一下就行了啊。因为我们也看不出效率的区别,这是我们主要的几种常用的事例,S3呢就不做演示了,那还有其他一些用法啊,给出一个一些案例,比如说啊,我用了通用表达式对吧?With s这个查询语句。
12:07
那默认导出格式为CSV啊,并且设置了高可用,怎么写呀,对吧。那就你看。如果HDFS开了ha,并且是通过brokeer方式导出,那你就对应的这么去配就行了啊,这几个参数值好,那再看,如果我们先做了优点再导出,并且导出为PA。并且还有高可用,那你看是怎么来啊,你就正常union,然后呢,指定broke对吧。然后指定的这个这些东西。还有STEM。啊,就行了呗。那还有比如说什么。生。
13:01
生成一个标识文件啊,就下划线success跟那个have那种差不多,那你就加一个配置项,这。啊,有这个标志就认为是导出成功的,呃,S3的案例对吧,我们没有具体写,就一些配置项嘛,还有S3的我们不多讲,好就简单过一遍,后面这些其他的一些东西。
我来说两句