1. 程式人生 > >hive函式 -- regexp_extract

hive函式 -- regexp_extract

函式描述:

regexp_extract(str, regexp[, idx]) - extracts a group that matches regexp

字串正則表示式解析函式。

-- 這個函式有點類似於 substring(str from 'regexp')  ..

引數解釋:

其中:

str是被解析的字串

regexp 是正則表示式

idx是返回結果 取表示式的哪一部分  預設值為1。

0表示把整個正則表示式對應的結果全部返回

1表示返回正則表示式中第一個() 對應的結果 以此類推 

注意點:

要注意的是idx的數字不能大於表示式中()的個數。

否則報錯:

例項:

如:

select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',0) from default.dual;

得到的結果為:

x=18abc

select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',1) from default.dual;

得到的結果為:

18

select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',2) from default.dual;

得到的結果為:

abc

我們當前的語句只有2個()表示式 所以當idx>=3的時候 就會報錯

FAILED: SemanticException [Error 10014]: Line 1:7 Wrong arguments '2': org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute method public java.lang.String org.apache.hadoop.hive.ql.udf.UDFRegExpExtract.evaluate(java.lang.String,java.lang.String,java.lang.Integer)  on object

[email protected] of class org.apache.hadoop.hive.ql.udf.UDFRegExpExtract with arguments {x=a3&x=18abc&x=2&y=3&x=4:java.lang.String, x=([0-9]+)[a-z]:java.lang.String, 2:java.lang.Integer} of size 3

相關推薦

hive函式 -- regexp_extract

函式描述: regexp_extract(str, regexp[, idx]) - extracts a group that matches regexp 字串正則表示式解析函式。 -- 這個函式有點類似於 substring(str from 'regexp')  .

Hive -函式

聚合函式 max min sum avg count (對於這種聚合函式就會執行Map Reduce) hive (default)> select count(1) from ruoze_emp where deptno=10;(查詢部門編號為10的人的數量

hive函式weekofyear應用及怪異的姿勢分析

hive weekofyear 怪異的姿勢 今天在使用hive函式weekofyear的時候遇到一個奇怪的情況,原sql如下: select aa.w,count(distinct aa.user_id),count(distinct bb.user_id) from ( select weekofyea

hive函式篇一

hive 檢視函式: show  functions; desc functions 函式名 1. 時間函式 1.1 時間戳函式--日期轉時間戳:從1970-01-01 00:00:00 UTC到指定時間的秒數select unix_timestamp(); --獲得當前時區的UNIX時間戳

hive 函式

Hive select length('經理') --2 select length('') --0 ##注意是length而非lenth或len 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markd

Hive函式——UDF

內建函式 檢視系統自帶的函式 show functions; 顯示自帶的函式的用法 desc function upper; 詳細顯示自帶的函式的用法 desc function extended upper; 自定義函式 Hive 自帶了一些函式,

HIVE函式集合(全)

掩蓋給定值 示例:    mask(ccn)    mask(ccn,'X','x','0')    mask(ccn,'x','x','x')  引數:    mask(value,upperChar, lowerChar,digitChar,otherChar,numb

Hive函式分類、CLI命令、簡單函式、聚合函式、集合函式、特殊函式(分析函式、視窗函式、混合函式,UDTF),常用函式Demo

1.1 Hive函式分類 1.2  Hive  CLI命令 顯示當前會話有多少函式可用 show  functions; 顯示函式的描述資訊: DESC  FUNCTION  concat; 顯示函式的擴充套

hive函式總結---關係運算

關係運算: 等值比較:= 語法:A=B 操作型別:所有基本型別 描述:如果表示式A與表示式B相等,則返回TRUE,否則為FALSE 舉例: hive> SELECT 1 from lxw_dual WHERE 1=1; 1 不等值比較:<&g

hive函式總結---集合統計函式

個數統計函式: count 語法: count(), count(expr), count(DISTINCT expr[, expr_.]) 返回值: int 說明: count()統計檢索出的行的個數,包括 NULL 值的行;count(expr)返回指定

hive函式總結---表生成函式

explode將hive的複雜資料型別拆分成多行。 explode (array) select explode(array('A','B','C')); select explode(array('A','B','C')) as col; select tf.

hive函式-數學函式 可在特徵工程中使用

hive中資料函式可以直接在提取特徵中使用,如 均值、方差、最大值、最小值、協方差等,重點關注以下的聚合函式內容。 一、hive函式之數學函式 round(double d)--返回double型d的近似值(四捨五入),返回bigint型; round(double d,i

Hive函式大全(完整版)

一、關係運算:1. 等值比較: =語法:A=B操作型別:所有基本型別描述:如果表示式A與表示式B相等,則為TRUE;否則為FALSE舉例:hive>select 1 from lxw_dual where 1=1;12. 不等值比較: <>語法: A <

Hive-函式

1、系統自帶的函式 1)檢視系統自帶的函式 2)顯示自帶的函式的用法 3)詳細顯示自帶的函式的用法 2、自定義函式 1)Hive 自帶了一些函式,比如:max/min 等,但是數量有限,自己可以通過自定義 UDF 來方便的擴充套件。 2)當 Hive 提供的

hive函式--行轉列union all &一行拆多行lateral view explode&多行轉一行group_concat()

工作幾年,越來越發現行列轉換非常重要,為了和上篇文章(hive函式--排序row_number,rank over)保持一致,這次繼續用學生成績的例子吧。1.行轉列 union all:表result:student_id,class,score學生的語數外物化都在一張表裡,

Hive函式大全

一、關係運算: 1. 等值比較: = 語法:A=B 操作型別:所有基本型別 描述:如果表示式A與表示式B相等,則為TRUE;否則為FALSE 舉例: hive>select 1

hive函式 -- split 字串分割函式

hive字串分割函式 split(str, regex) - Splits str around occurances that match regex Time taken: 0.769 seconds, Fetched: 1 row(s) 返回值為一個數組 a.基本用法

Hive 中的複合資料結構簡介以及一些函式的用法說明

目錄[-] 一、map、struct、array 這3種的用法: 1、Array的使用 2、Map 的使用 3、Struct 的使用 4、資料組合 (不支援組合的複雜資料型別) 二、hive中的一些不常見函式的用法: 1、array_contains (

hive 內建函式

在Hive中,函式包括以下型別: 一、內建函式 1、數學函式 [plain] view plain copy print? (1)round:四捨五入 select round(數值,小數點位數); (2)ceil:向上取整 sel

大資料(二十二):hive分桶及抽樣查詢、自定義函式、壓縮與儲存

一、分桶及抽樣查詢 1.分桶表資料儲存         分割槽針對的是資料儲存路徑(HDFS中表現出來的便是資料夾),分桶針對的是資料檔案。分割槽提供一個隔離資料和優化查詢的便利方式。不過,並非所有的資料集都可形成合理的分割槽,特別是當資料要