lateral view是Hive中提供给UDTF的结合,它可以解决UDTF不能添加额外的select列的问题。 lateral view其实就是用来和想类似explode这种UDTF函数联用的,lateral view会将UDTF生成的结果放到一个虚拟表中,然后这个虚拟表会和输入行进行join来达到连接UDTF外的select字段的目的。 explode函数:处理map结构的字段,将数组转换成多行 《疑犯》 悬疑,动作,科幻,爱情 《lie to me》 悬疑,警匪,动作,心理,剧情 《战狼》 战争,动作,灾难 …

2022年03月27日 0条评论 126点热度 0人点赞 阅读全文

hive里通常通过collect_set和collect_list来进行列转行 collect相关的函数有collect_list和collect_set,它们都是将分组中的某列转为一个数组返回 二者区别在于:collect_list为不去重转换,collect_set为去重转换。 创建测试表: CREATE table stu_score( stu_id string comment '学号', stu_name string comment '姓名', course string comment '科目', s…

2022年03月26日 0条评论 202点热度 0人点赞 阅读全文

都是对字符串进行拼接,但是有细微上的差别 无分隔符对字符串全部拼接,没有分隔符 有拼接符对字符串进行拼接,第一个参数为连接符,将后面所有参数拼接成一个字符串 能否对int类型拼接 concat能直接对int类型拼接,并且返回string类型 concat_ws只能对"string or array<string>"进行拼接 拼接null类型 当拼接中有null类型,concat直接返回null concat_ws则会忽略null类型 在使用SQL函数 concat()拼接函数时,如果发现 拼接出来的 全…

2022年03月25日 0条评论 107点热度 0人点赞 阅读全文