摘要: hive当中也带有很多的窗口函数以及分析函数,主要用于以下这些场景 (1)用于分区排序 (2)动态Group By (3)Top N (4)累计计算 (5)层次查询 1、创建hive表并加载数据 创建表 hive (hive_explode)> create table order_detail( 阅读全文
posted @ 2020-07-05 20:05 小码农成长记 阅读(620) 评论(0) 推荐(0) 编辑
摘要: reflect函数可以支持在sql中调用java中的自带函数,秒杀一切udf函数。 使用java.lang.Math当中的Max求两列中最大值 创建hive表 create table test_udf(col1 int,col2 int) row format delimited fields t 阅读全文
posted @ 2020-07-05 19:49 小码农成长记 阅读(901) 评论(0) 推荐(0) 编辑
摘要: 4、行转列 1.相关函数说明 CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串; CONCAT_WS(separator, str1, str2,...):它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔 阅读全文
posted @ 2020-07-05 19:45 小码农成长记 阅读(1980) 评论(0) 推荐(0) 编辑
摘要: 1、使用explode函数将hive表中的Map和Array字段数据进行拆分 lateral view用于和split、explode等UDTF一起使用的,能将一行数据拆分成多行数据,在此基础上可以对拆分的数据进行聚合,lateral view首先为原始表的每行调用UDTF,UDTF会把一行拆分成一 阅读全文
posted @ 2020-07-05 19:40 小码农成长记 阅读(3485) 评论(0) 推荐(0) 编辑
摘要: 1.Map类型长度函数: size(Map<k .V>) 语法: size(Map<k .V>) 返回值: int 说明: 返回map类型的长度 hive> select size(t) from map_table2; 2 2.array类型长度函数: size(Array<T>) 语法: siz 阅读全文
posted @ 2020-07-05 19:12 小码农成长记 阅读(1389) 评论(0) 推荐(0) 编辑
摘要: 1、array类型访问: A[n] 语法: A[n] 操作类型: A为array类型,n为int类型 说明:返回数组A中的第n个变量值。数组的起始下标为0。比如,A是个值为['foo', 'bar']的数组类型,那么A[0]将返回'foo',而A[1]将返回'bar' hive> create ta 阅读全文
posted @ 2020-07-05 19:10 小码农成长记 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1、Map类型构建: map **** 语法: map (key1, value1, key2, value2, …) 说明:根据输入的key和value对构建map类型 hive> Create table mapTable as select map('100','tom','200','mar 阅读全文
posted @ 2020-07-05 19:05 小码农成长记 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 1、个数统计函数: count *** 语法: count(*), count(expr), count(DISTINCT expr[, expr_.]) 返回值: int 说明: count(*)统计检索出的行的个数,包括NULL值的行;count(expr)返回指定字段的非空值的个数;count 阅读全文
posted @ 2020-07-05 19:03 小码农成长记 阅读(1625) 评论(0) 推荐(0) 编辑
摘要: 1、字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 hive> select length('abcedfg') from tableName; 7 2、字符串反转函数:reverse 语法: reverse(string A) 返 阅读全文
posted @ 2020-07-05 18:24 小码农成长记 阅读(1040) 评论(0) 推荐(0) 编辑
摘要: 1、If函数: if *** 语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T 说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull hive> 阅读全文
posted @ 2020-07-05 18:05 小码农成长记 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 1、UNIX时间戳转日期函数: from_unixtime *** 语法: from_unixtime(bigint unixtime[, string format]) 返回值: string 说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区 阅读全文
posted @ 2020-07-05 18:02 小码农成长记 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: 1、取整函数: round *** 语法: round(double a) 返回值: BIGINT 说明: 返回double类型的整数值部分 (遵循四舍五入) hive> select round(3.1415926) from tableName; 3 hive> select round(3.5 阅读全文
posted @ 2020-07-05 17:48 小码农成长记 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 1、等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE hive> select 1 from tableName where 1=1; 2、不等值比较: <> 语法: A <> B 操作类型: 所有基本类型 描述: 如果表达式A 阅读全文
posted @ 2020-07-05 16:55 小码农成长记 阅读(473) 评论(0) 推荐(0) 编辑