持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情
接着上一文还没讲完的数学函数,继续说一下hive中还有哪些数学函数呢。
上文讲到了很多数学计算函数,比如求幂等次方的exp(),求以10为底数的对数的log10(),当然类似的数学计算法函数还有求2为底数的对数log2(DOUBLE n), log2(DECIMAL n),或者指定底数为a的情况,log(DOUBLE a, DOUBLE n),log(DECIMAL a, DECIMAL n)。
就不过多赘述,用法和功能都是类似的。
还有其他的数学计算比如a的n次幂pow(DOUBLE a, DOUBLE n), power(DOUBLE a, DOUBLE n)
具体功能描述: 功能就是很简单的,计算a的n次幂结果,这里传入的参数就是double的类型,返回的结果数据类型也是double。
计算a的平方根,这倒是在实际案例中应用可能会比较多的一个数学函数。
应用方法也比较简单就是sqrt()这个函数。
常见使用方法: sqrt(DOUBLE n), sqrt(DECIMAL n)
具体功能描述: 一句话就是计算n的平方根结果,输出的结果数据类型为double。
hive中的数学函数真的很多,先告一段落,下面介绍一个hive应用中比较常见重要的内容,临时表的作用和写法。
临时表的用法在hive开发中是非常常见的,在一些复杂的场景,或者是需要多重校验逻辑的时候,就用临时表先将过度结果得到,一些复杂的处理逻辑也可以放到临时表中去进行,然后再进行数据的最终处理返回,而且使用临时表还有个好处就是提高性能,不用在hive中反复去查一些表数据,在临时表中就可以暂存数据,提高查询效率,所以一定要灵活使用临时表。
临时表的语法也是相当简单的。 见下面例子: with xxx_tmp as ( -- 表1的处理逻辑 ) ,xxx_tmp2 as( -- 表2的处理逻辑 )
模版还是相当简单的,最重要的还是表里面的逻辑。