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条评论 228点热度 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条评论 305点热度 0人点赞 阅读全文

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

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

在大数据公司中,任何一家公司都不会只使用一个框架吧?! skr,skr~~ 那我们今天就来聊一段 Hive 与 Spark的爱恨情仇 就像 在一些场景中,需要将外部的数据导入到Hive表中,然后再对这些数据进行额外的处理,提供给不同的部门使用。 当导完数据之后,需要用到Spark进行后续的处理时,发现数据多了一条 Spark:Omg,我顶你个肺~ 这种情况的排查,我们需要从数据源头一步步检验,找出来这突然多出来的数据究竟是何方妖怪,想想是一件很恐怖的事情 Hive:同志,冷静 数据重复?索引重复? 俗话说不会面向度…

2020年11月12日 0条评论 900点热度 1人点赞 阅读全文

使用beeline方式连接hive-server2的过程中,报以下错误: [ 08S01] Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: java.net.SocketException: Connection reset 查询官网资料得知,出现jdbc:hive2://localhost:10000: java.net.SocketException: Connection reset错误的原因,大概率是因…

2020年09月11日 0条评论 1739点热度 1人点赞 阅读全文