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.pswp.cn/news/395345.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395345.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395345.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python word

代碼: 1 #codingutf-82 __author__ zhm3 from win32com import client as wc4 import os5 import time6 import random7 import MySQLdb8 import re9 def wordsToHtml(dir):10 #批量把文件夾的word文檔轉換成html文件11 #金山WPS調用,搶先版的用KWPS&a…

aws lambda_如何為AWS Lambda實施日志聚合

aws lambdaby Yan Cui崔燕 如何為AWS Lambda實施日志聚合 (How to implement log aggregation for AWS Lambda) During the execution of a Lambda function, whatever you write to stdout (for example, using console.log in Node.js) will be captured by Lambda and sent…

【Python3爬蟲】為什么你的博客沒人看呢?

我相信對于很多愛好和習慣寫博客的人來說,如果自己的博客有很多人閱讀和評論的話,自己會非常開心,但是你發現自己用心寫的博客卻沒什么人看,多多少少會覺得有些傷心吧?我們今天就來看一下為什么你的博客沒人看呢&#…

泰安高考2021成績查詢,泰安高考成績查詢入口2021

高考結束之后,為了方便大家進行高考成績的查詢,下面跟著出國留學網小編來一起看看“泰安高考成績查詢入口2021”,僅供參考,希望對大家有幫助。2021山東高考成績查詢時間及志愿填報時間根據山東2021年夏季高考須知,2021…

用GitHub Issue取代多說,是不是很厲害?

2019獨角獸企業重金招聘Python工程師標準>>> 摘要: 別了,多說,擁抱Gitment。 2017年6月1日,多說正式下線,這多少讓人感覺有些遺憾。在比較了多個博客評論系統,我最終選擇了Gitment作為本站的博客評論系統&a…

mysql延時優化教程_Mysql優化之延遲索引和分頁優化_MySQL

什么是延遲索引?使用索引查詢出來數據,之后把查詢結果和同一張表中數據進行連接查詢,進而提高查詢速度!分頁是一個很常見功能,select ** from tableName limit ($page - 1 ) * $n ,$n通過一個存儲過程插入10000條數據進行測試&…

【動態規劃】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;以下()不是按…

0622 - 如何堅守自己的價值觀?

如果有人有著和自己迥異的價值觀&#xff0c;且混得很好&#xff0c;且和自己是熟人&#xff0c;自己是不是要改變自己、向其學習&#xff1f; 比如&#xff0c;常說的「學習好的比學習差的打工」&#xff0c;那到底是要好好學習&#xff0c;還是提前混人脈、攢經驗&#xff1f…

如何免費注冊Coursera課程

One question I get asked all the time here at Class Central is: are Coursera courses really free?在班級中心&#xff0c;我一直被問到的一個問題是&#xff1a; Coursera課程真的免費嗎&#xff1f; Coursera’s user interface is intentionally designed to push le…

三態門有一個信號控制端en_三態門verilog

雙向口-三態門的電路IC專業技術文章2008-12-06 14:59:24閱讀119評論0字號&#xff1a;大中小訂閱1.TTL三態門電路工作原理:三態門電路的基本結構如下圖所示&#xff1a;(1)圖1給出了三態門的電路結構圖及圖形符號。其中控制端EN為低電平時,P點為高電平&#xff0c;二極管D截止&…

[樹形dp] Jzoj P3914 人品問題

Description 網上出現了一種高科技產品——人品測試器。只要你把你的真實姓名輸入進去&#xff0c;系統將自動輸出你的人品指數。yzx不相信自己的人品為0。經過了許多研究后&#xff0c;yzx得出了一個更為科學的人品計算方法。這種方法的理論依據是一個非常重要的結論&#xff…

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

現在&#xff0c;人們已經放下了對跳槽的偏見。這是一件好事。之前。假設你每幾年換一次工作&#xff0c;人們會認為你的簡歷上有 “污點”。面試官會認為你無法勝任一份工作。與同事相處不好。或者你對公司不忠誠&#xff0c;不能承擔任務&#xff0c;等等。 這樣的想法非常快…

2019 6月編程語言_六月開始提供435項免費在線編程和計算機科學課程

2019 6月編程語言Five years ago, universities like MIT and Stanford first opened up free online courses to the public. Today, more than 700 schools around the world have created thousands of free online courses.五年前&#xff0c;麻省理工學院和斯坦福大學等大…

使用html記筆記,開始學習HTML,并記下筆記

開始學習HTML,并記下筆記。外邊距(不影響可見框大小&#xff0c;影像盒子位置)margin-top(上)right(右)bottom(下)left(左)“外邊距也可以為一個負值&#xff0c;元素會反方向移動”margin還可以設置為auto&#xff0c;auto一般只設置給水平方向的margin.如果只指定&#xff0c…

矢量合成和分解的法則_專題14 運動的合成與分解

運動的合成與分解【基礎回顧】 考點內容:運動的合成與分解 考綱解讀: 1.掌握曲線運動的概念、特點及條件. 2.掌握運動的合成與分解法則&#xff0e; 考點一 物體做曲線運動的條件及軌跡分析 1&#xff0e;條件  (1)因為速度時刻在變&#xff0c;所以一定存在加速度&#xff1…

詳解--單調隊列 經典滑動窗口問題

單調隊列&#xff0c;即單調的隊列。使用頻率不高&#xff0c;但在有些程序中會有非同尋常的作用。 動態規劃單調隊列的理解 做動態規劃時常常會見到形如這樣的轉移方程&#xff1a;f[x] max or min{g(k) | b[x] < k < x} w[x](其中b[x]隨x單調不降&#xff0c;即b[1]&…

Java Persistence with MyBatis 小結2

MyBatis 最關鍵的組成部分是 SqlSessionFactory&#xff0c;我們可以從中獲取 SqlSession&#xff0c;并執行映射的 SQL 語句。SqlSessionFactory 對象可以通過基于 XML 的配置信息或者 Java API 創建。 1 mybatis環境&#xff0c;environments 配置默認的數據庫環境 MyBatis 支…

《計算機應用基礎》18春作業,【北語網院】18春《計算機應用基礎》作業_2.pdf...

謀學網【北京語言大學】 18 春《計算機應用基礎》作業 _2試卷總分 :100 得分 :100第 1 題, 操作系統是 ___ 的接口。A、用戶與軟件B、系統軟件與應用軟件C、主機與外設D、用戶與計算機第 2 題, 計算機配置的內存的容量為 128MB或 128MB以上&#xff0c;其中的 128MB是指 __ 。A…

freeCodeCamp納什維爾十月聚會回顧

by Seth Alexander塞斯亞歷山大(Seth Alexander) 納什維爾的美好時光&#xff1a;十月免費CodeCamp聚會的回顧 (Good times in Nashville: a recap of our October freeCodeCamp Meetup) On Saturday, October 7, we had our monthly freeCodeCamp Nashville meetup at Nashvi…