hive 去重 字符串_hive函数

Hive是建立在 Hadoop 上的数据仓库基础架构,定义了简单的类 SQL 查询语言(HQL)

函数分类:

简单内置函数:数学函数,字符函数,日期函数,条件函数,聚合函数。

高级内置函数:行列转换函数,分析性函数。

自定义函数:udf。

以上是小编自己整理分类的,网上也有很多不同分类的版本,下图就是在别人博客中我觉得比较好的分类方法。

e959b654d07a1ec15328abff1a97735c.png

数学函数

round():四舍五入

floor(): 向下取整

ceil():  向上取整

rand():  随机数

mod():取余

字符函数

length(string1):长度

concat(string1,string2):拼接

concat_ws(sep,string1,string2):返回按指定分隔符拼接的字符串

lower(string1):小写字符串 upper():返回大写字符串

trim(string1):去左右空格,ltrim(string1):去左空格。rtrim(string1):去右空格

reverse(string1):字符串逆置

rpad(string1,len1,pad1):字符右填充。lpad():左填充

split(string1,pat1):分隔字符串返回数组。如split('a,b,c',',')返回["a","b","c"]

substr():截取。如substr('abcde',1,3)返回'abc'

日期函数

curdate:返回当前日期

year(date):month(date):day(date):  返回日期date的年,月,日,类型为int

datediff(date1,date2):返回日期date1与date2相差的天数

str_to_date将日期格式的字符转换成指定格式的日期

例子:str_to_date('9-13-2020','%m-%d-%y')结果:2020-09-13

date_format()将日期转换成字符

例子:date_format('2020/9/13','%Y年%m月%d日')结果:2020年9月13日

条件函数

if(条件,t1,t2):若条件成立,则返回t1,反正返回t2。如if(1>2,100,200)返回200

case when 条件 then t1 else t2 end:若条件成立,则t1,否则t2,可加多重判断

isnull(a):若a为null则返回true,否则返回false

聚合函数

count():统计行数

sum(col1):统计指定列和

avg(col1):统计指定列平均值

min(col1):返回指定列最小值

max(col1):返回指定列最大值

行转列函数

lateral  view explode(split(col1,',')) :同组同列的数据拆分成多行,以sep分隔符区分

列转行函数

concat_ws(sep, collect_set(col1)) :同组不同行合并成一列,以sep分隔符分隔。collect_set在无重复的情况下也可以collect_list()代替。collect_set()去重,collect_list()不去重

分析类函数

row_number()  over(partitiion by .. order by .. ):根据partition排序,相同值取不同序号,不存在序号跳跃

rank() over(partition by ..  order by .):根据partition排序,相同值取相同序号,存在序号跳跃

sum() over(partition by .. order by ..)根据partition排序,累计和

count() over(partition by .. order by ..)根据partition排序,累计行数

UDF函数

UDF(User-Defined Functions)即是用户定义的hive函数。hive自带的函数并不能完全满足业务需求,这时就需要我们自定义函数了

UDF的分类

  1. UDF:one to one,进来一个出去一个,row mapping。是row级别操作,如:upper、substr函数

  2. UDAF:many to one,进来多个出去一个,row mapping。是row级别操作,如sum/min。

  3. UDTF:one to many ,进来一个出去多个。如alteral view与explode

c3154c1b8a4118df9c840e898fb06bf7.png

今天无锡也下雪了,从朋友圈盗图一张,每天进步多一点~

降温了,大家做好保暖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python3爬虫】为什么你的博客没人看呢?

我相信对于很多爱好和习惯写博客的人来说,如果自己的博客有很多人阅读和评论的话,自己会非常开心,但是你发现自己用心写的博客却没什么人看,多多少少会觉得有些伤心吧?我们今天就来看一下为什么你的博客没人看呢&#…

泰安高考2021成绩查询,泰安高考成绩查询入口2021

高考结束之后,为了方便大家进行高考成绩的查询,下面跟着出国留学网小编来一起看看“泰安高考成绩查询入口2021”,仅供参考,希望对大家有帮助。2021山东高考成绩查询时间及志愿填报时间根据山东2021年夏季高考须知,2021…

用GitHub Issue取代多说,是不是很厉害?

2019独角兽企业重金招聘Python工程师标准>>> 摘要: 别了,多说,拥抱Gitment。 2017年6月1日,多说正式下线,这多少让人感觉有些遗憾。在比较了多个博客评论系统,我最终选择了Gitment作为本站的博客评论系统&a…

【动态规划】Vijos P1313 金明的预算方案(NOIP2006提高组第二题)

题目链接&#xff1a; https://vijos.org/p/1313 题目大意&#xff1a; m(m<32000)金钱&#xff0c;n&#xff08;n<60&#xff09;个物品&#xff0c;花费vi&#xff0c;价值vi*ci,每个物品可能有不超过2个附件&#xff0c;附件没有附件。 题目思路&#xff1a; 【动态规…

计算机网络应用答题卡,2013-2014学年第2学期11级计算机网络技术毕业考试试卷

2013-2014学年第2学期11级《计算机网络技术》课程毕业考试试卷得分&#xff1a;一、单项选择题&#xff1a;(每题1分&#xff0c;共30分&#xff0c;答案必须写在后面的选择题答题卡内&#xff0c;否则不得分)1、计算机网络可以按网络的覆盖范围来划分&#xff0c;以下()不是按…

为什么那些每三年跳一次槽的人越跳越好? - 震撼

现在&#xff0c;人们已经放下了对跳槽的偏见。这是一件好事。之前。假设你每几年换一次工作&#xff0c;人们会认为你的简历上有 “污点”。面试官会认为你无法胜任一份工作。与同事相处不好。或者你对公司不忠诚&#xff0c;不能承担任务&#xff0c;等等。 这样的想法非常快…

矢量合成和分解的法则_专题14 运动的合成与分解

运动的合成与分解【基础回顾】 考点内容:运动的合成与分解 考纲解读: 1.掌握曲线运动的概念、特点及条件. 2.掌握运动的合成与分解法则&#xff0e; 考点一 物体做曲线运动的条件及轨迹分析 1&#xff0e;条件  (1)因为速度时刻在变&#xff0c;所以一定存在加速度&#xff1…

Java Persistence with MyBatis 小结2

MyBatis 最关键的组成部分是 SqlSessionFactory&#xff0c;我们可以从中获取 SqlSession&#xff0c;并执行映射的 SQL 语句。SqlSessionFactory 对象可以通过基于 XML 的配置信息或者 Java API 创建。 1 mybatis环境&#xff0c;environments 配置默认的数据库环境 MyBatis 支…

c#时分秒毫秒微妙_你真的清楚DateTime in C#吗?

DateTime&#xff0c;就是一个世界的大融合。日期和时间&#xff0c;在我们开发中非常重要。DateTime在C#中&#xff0c;专门用来表达和处理日期和时间。本文算是多年使用DateTime的一个总结&#xff0c;包括DateTime对象的整体应用&#xff0c;以及如何处理不同的区域、时区、…

解决Eclipse的Team菜单中没有SVN选项的问题

刚开始自己拿一个项目&#xff0c;手练一下发觉在Eclipse的Team找不到SVN仓库&#xff0c;看了一下才发觉使用SVN向SVN服务器上传代码&#xff0c;但Eclipse默认情况下却没有SVN选项&#xff0c;刚开始也是这样的 默认只有GIT&#xff0c;如下图所示 想要解决这些问题&#xff…

怎么用计算机怎么截屏,电脑怎么截图 这几个方法操作简便且实用

在日常的生活当中我们在使用电脑的时候经常会碰一些喜欢的文字、图片无法保存的情况&#xff0c;面对这样的状况&#xff0c;我们想要将这些东西保留下来那就会用到电脑截图了&#xff0c;这个方法可以很轻松的就将我们无视无法保存的情况而将这些东西给保留下来。那么电脑要怎…

python socket 多人聊天室

参考来源&#xff08;其实我从上面复制了一点&#xff09;&#xff1a;Python 的 Socket 编程教程 http://www.oschina.net/question/12_76126Python线程指南 http://www.open-open.com/lib/view/open1345476194313.htmlPython Socket文档 https://docs.python.org/3/library/…

mxm智能教育机器人无法智能对话_零代码使用腾讯TBP打造智能对话机器人

点击观看大咖分享心疼你独自一人承担生活的苦难&#xff0c;寂寞夜里陪伴你的只剩无人倾诉的压抑和无处安放的焦虑。养个宠物&#xff0c;它却不能get到你的“宠言宠语”。找个伴侣&#xff0c;还要浪费吵架的时间和精力。回到家里&#xff0c;只能浸泡在“循环唠叨式“母爱的沐…

怎么更换锁定计算机的图片,Win10系统下怎样对锁定界面的背景图片进行更换

用户在唤醒睡眠状态的win10系统时&#xff0c;最先看到就是锁定界面。在界面中&#xff0c;一般有时间日期、星期几&#xff0c;及默认的背景图片。那么&#xff0c;win10系统锁定界面中的背景图片可以修改吗&#xff1f;下面&#xff0c;小编就给大家分享Win10系统更换锁定界面…

输电线路巡检机器人PPT_“高空大师”来了!架空输电线路智能巡检机器人在宁波投运...

“鄞州区220千伏天田4480线一切正常……”17日上午&#xff0c;随着一台智能巡检机器人稳稳地停靠在铁塔边&#xff0c;标志着我省首台架空输电线路智能巡检机器人在宁波率先投入运行&#xff0c;为电网安全运行请来了一位“高空大师”。近年来&#xff0c;无人机代替电力工人巡…

HDU 6325 Problem G. Interstellar Travel(凸包)

题意: 给你n个点,第一个点一定是(0,0)&#xff0c;最后一个点纵坐标yn一定是0&#xff0c;中间的点的横坐标一定都是在(0,xn)之间的 然后从第一个点开始飞行&#xff0c;每次飞到下一个点j&#xff0c;你花费的价值就是xi*yj-xj*yi&#xff0c;并且这里每一次飞行必须满足xi<…

xshell安装mysql步骤_mysql主从复制

前期提要&#xff1a;三年前双11买的阿里云今年到期了&#xff0c;win2012的&#xff0c;上面mysql数据库里记着自己的一些记账数据&#xff0c;上一年双11买了腾讯云的&#xff0c;centos7.7, 想学学MYSQL的复制功能&#xff0c;今天趁着无BUG可撸&#xff0c;试着配置了一下&…

大专学计算机维修,《计算机维修与网络工程》大专学历班

语文、数学、计算机英语、公文写作等办公自动化指法训练、英文打字、智能拼音及高速五笔字型中文打字、windows操作、Word2003文字处理软件、Excel2003电子表格、Powerpoint2003幻灯片制作、Internet网络的上网方法、浏览、下载、电子邮件收发等。本班学习完毕&#xff0c;可独…

Appium——主从控制执行

1.客户端(Eclipse)机器A&#xff0c; 服务端(appium、Genymotion)机器B 2.设置Appium&#xff0c;Server Address为192.168.17.123&#xff0c;重新启动Appium 3.在客户端机器A浏览器中输入&#xff1a;http://192.168.17.123:4723/wd/hub&#xff0c; 说明配置成功。 JAVA代码…

Python学习-03(集合,文件,编码)

上周复习&#xff1a; 列表增删改查 元祖是可读列表 字符串操作 字典是无序的&#xff0c;通过key来找值。字典可以嵌套列表和字典 本周内容&#xff1a;集合--文件---字符编码 集合引入&#xff1a; #随机生成20个小于20的数&#xff0c;输出所有的数&#xff0c;# 要求重复…