
Hive和Presto
Hive和Presto使用经验总结
Tao_666
这个作者很懒,什么都没留下…
展开
-
hive sql 行转列&列转行
数据的存储有时候存在一个主键对应多行数据记录的情况,如果我们想把数据做行转列(合并)操作,就可以使用concat_ws(’,’, collect_set(column_name))函数,返回string。仅仅使用collect_set(column_name)函数返回的是数组,见下边第3条说明。说明:collect_set()去重,collect_list()不去重,column_name的数据类型要求是string1、多行转列create table students_info(`sno` st原创 2021-04-18 12:46:08 · 1649 阅读 · 0 评论 -
Hive-XML语言解析函数xpath_string()
1、xpath_string()语法: xpath_string(string xmlstr,string xpath_expression)返回值: string说明: 默认情况下,从 xml 字符串中返回第一个匹配到的表达式节点的值。hive> SELECT xpath_string ('<a><b>b1</b><b>b2</b></a>', '//b') FROM iteblog;OKb1//指定返回匹配到哪一原创 2021-08-03 17:25:47 · 1995 阅读 · 0 评论 -
hive-对多列求最大值的函数greatest()
greatest (a,b,c,d,d)greatest 求的是某几列的最大值,横向求最大(一行的多列记录求最大)可在信贷额度策略的盖帽场景中使用。和max()的区别?max(a)纵向求最大(一列的多行记录求最大)原创 2021-08-02 20:46:06 · 6413 阅读 · 0 评论 -
聚合函数、group by/having/order by
11原创 2021-08-02 20:35:12 · 171 阅读 · 0 评论 -
Hive查询数据时怎么使用中文别名?
使用中文别名时,需要将中文别名用反单引号括起来(tab键上面的那个键可以敲出来)--例如把“ar”改为中文别名“通过率”select prod_name, ar as `通过率` from table_name;注意:上传csv文件建表时,不能使用中文的字段名称。使用命令建表时,也不要使用中文来命名字段名称。使用中文来命名字段,虽然不报错,但是建表后的字段名称是乱码的。因此,建表时注意使用英文名称来命名字段。...原创 2021-08-02 20:18:39 · 6433 阅读 · 0 评论 -
sql-rand()随机函数使用方法介绍
1、随机取数MySql或Hive数据库,从样本数据中随机提取数据表中的N条记录,可以使用rand()函数,结合使用order by对数据排序,用limit N取topNselect * from TableName order by rand() limit N案例:每月信用卡支出总额超过1000美元的客户有机会赢得抽奖。假设您在2019年10月从所有符合条件的客户中随机选择100名幸运客户,您是否可以编写一个查询以返回“user_id”列表作为此次抽奖的结果?--Task 1. Lucky Dr原创 2021-08-01 12:47:38 · 11169 阅读 · 0 评论 -
Hive删除库、表或表中部分数据总结
1.分区表删除某个partitionalter tablealter table table_name drop partition(partiton_name='xxx'))删除某个partition的部分数据可以换一种思路,用INSERT OVERWRITE TABLE满足WHERE后面条件的数据是表中这个分区需要保留的数据--下边代码table_name 是同一个表INSERT OVERWRITE TABLE table_name PARTITION(year='2018') S原创 2021-06-27 12:23:52 · 11192 阅读 · 2 评论