00:00
好,我们看一下这个第七章函数啊,讲一下这个have当中函数,首先你可以看它这个系统的一个自带的函数,像so,什么count呀,Avg啊等等这种都是它系统自带的一些函数吧,啊,你可以直接设function。S func。TS。还是超级多的吧。啊,它还是超级多的,那看有没有熟悉的ma是吧,Me,你用过month是不是也用啊,都用啊,然后那也用过吧,Lead找到了。还还有浪是吧,浪十浪个二。那二好像我们不知道它那个简写是什么,那十的简写是什么。就是LG是吧,还有log是吧,我记得是LN是吧。还有别你看还有这些,这是不是那些符号啊啊等等,你可以看到它里边有很多的一个语法,很多的一个语啊,不是语法是它的一个函数,特别特别多的一个函数。
01:10
那你要看一个函数具体怎么用DC。DA再跟上方程加上这个是什么函数名嘛,跟上函数名,同样的你还可以用扩展的方式来查看。XD的不是扩展吗?我们之前查看那个。数据库的时候是不是用到这个关键字啊啊,那我们来看一下啊。看两个有什么区别,DC方程。然后阿是吧,阿,这个函数是干什么的,转大写的吧,等一下它就有一个描述,他说反你看啊,它的用法是阿里边传一个。字传,然后它后面描述的是返回一个字符传位,所有的字符都变成了大写的,大写的好,那这是那我们在S。
02:08
看一下他这个扩展介绍会是什么样子走诶他多了一个什么啊。这个是一样的吧,这个语句啊,它多了个什么。多了个三了多个。Facebook因为have之前不是说了嘛,它是由是吧,Facebook开发的吧,Facebook开发的,所以这里面的例子都是Facebook是吧,这样去查看你每个函数,你要想用到具体的函数的时候,哎,你去查看具体函数的用法。啊,具体函数的一个用法,然后接下来。这是他这里边所看到的,都是他自己带的一些书吧。但是有时候啊。它这个自带的函数啊,不能满足我们实际开发的一个需求。那这个时候我们需要自己写这个函数。
03:00
啊,我们就要讲一讲这个,如果你自己写一个函数,哎,怎么写怎么写。首先啊,它有一些什么自带的m max啊,我们都知道,然后他说无法满足需求的时候,我们要写。那写。我们是总共它的函数有这三种啊,其实我们已经之前慢慢都跟大家有所提过是吧,第一种这种一进一出的。类似于这个Apple呀,这种呢,它是不是一进一出啊,就是你给他一个数据,他给你返回一个大写的数据是吧?啊,就是你给他一条数据,它就返回一条数据啊,一行数据,这家一进一出,这个函数叫UDF。有点F,还有像some那种,或者come的那种,它是什么?Some是不是把所有的数,假如说你算的是整张表的cell some self,它那个薪水的总和,那是不是整张表读完之后,他才能计算出结果啊,他是把所有,而且他计算结果只有一条啊。
04:05
是不是啊,它是一种U定函,是这种用户自定义一个聚集函数,它是多G溢出的,类似于这种com ma max啊,命啊等等都是,然后还有一种UDTF。就类似于我们那个什么,我们目前所讲过的是什么用过的。Xport对吧,炸裂那个函数啊,他不传一个数组进去,然后干什么,把这个数组全部打开吧,哎,它多少,哎,这就是一进多出,你给他传一个数目,但是他给你返回了多行数据吧。哎,这个是UDTF这些函数,但是正常在公司当中要求你要自己定义的一般都是udf。像这种UDAF跟udtf很少,因为它have当中像这两个函数啊,已经提供了很多了,基本上够用了。
05:00
啊,做正常分析够用了,但是udf像这种传一个字符串,就是你对这个字符一个清洗,或者类似于你要转换。就是对这个表做清洗,做转换的时候啊,哎,都要用到这个udf函,不是udf函数,Udf函数就是传一行数据进来,然后你给它还是返回一行数据,但是你要把字段变成大写啊,变成小写啊,类似于这种功能,这种在公司当中运用的是最多的。我用的最多的。所以我们会讲一个列表的一个自定义啊,讲一个列表的自定义。官方文档啊,自定义的文档在这,大家自己有兴趣看一看,然后看一下它的一个步骤。首先你写一个类要继成汉文当中的udf吧,这是肯定的,因为你要自己写什么东西让它框架能认的话,你肯定要继承或者说实现它里的接口吧,就像你map一样啊,你要继承它这个map,因为框架才能认你啊,好,然后他说需要实现一个这个函数,注意这个函数上面可以不加over关键字。
06:08
这个注解可以回家了,但是你要注意,你不要看他没有加这个注解,你就认为这个函数的随便。随便取啊,你取其他的名字,它不成功的,它是不成功的,你们不信可以试一下好吧,然后他说这个函数啊,支持重载。支持重载。这是重载,那重载有什么作用,等我们写完了之后,感受了一下这个函数之后,然后你再回过头来,我们给大家讲一下这个重载它到底有什么用,到底有什么用啊,之后就是你创建完函数之后,就是把你的。打包吧,打个包,打个包之后呢,添加在have窗口里面去添加这个加包。因为你现在要创建一个函数,你这个函数肯定是根据你写的代码来的啊,啊,所以你要把价高添加进去啊,之后你就创建一个函数就行了,当然你可以创建一个临时的函数,Temporary是不是临时的创建一个临时的函数,就是这个临时的函数创建呢?就是当次这个have这个客户端开启它有效,你关了重新进来这个函数就没用了啊是这个意思,好,接下来看一下,它说udf函数必须要有返回值,可以为那,但不能为word word没有返回值吧?啊,没有返回值,你想想看啊。
07:31
我们用函数,然后传一个列进去,它是不是对这个列做处理啊,那你说你处理完了之后什么都不返回。不太靠谱吧,啊,所以他是不能了,你一定要有返回值的啊,一定要返回值的,就是说你需要告诉他处理的一个结果,哪怕你处理结果就是对这个数据是一个过滤,你不想要这个数据了,那你返回到,那你也不要不返回啊,不要不返回。好,这是它的一个函数和自定义函数的一个介绍。
我来说两句