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

inner join(等值连接) 只返回两个表中联结字段相等的行 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 INNER JOIN 连接两个数据表的用法: SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号 INNER JOIN 连接三个数据表的用法: SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) …

2021年04月09日 0条评论 1339点热度 0人点赞 阅读全文

使用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条评论 1655点热度 1人点赞 阅读全文
12