hive函数大全
hive高级函数

hive高级函数Hive是一个基于Hadoop的数据仓库解决方案,它使用Hive查询语言(HQL)来处理和分析大型数据集。
Hive提供了许多内置的高级函数,用于对数据进行转换、过滤、聚合等操作。
在本文中,我们将探讨一些常用的Hive高级函数,并讨论它们的用法和应用场景。
一、字符串函数:1. CONCAT:将多个字符串连接在一起。
2. SUBSTRING:返回一个字符串的子串。
3. INSTR:返回一个字符串中第一次出现的指定子串的位置。
4. REPLACE:将一个字符串中的所有指定子串替换为新的子串。
5. TRIM:去除一个字符串两端的空格。
这些字符串函数在数据清洗和转换中非常有用,可以帮助我们从原始数据中提取需要的信息。
二、日期函数:1. TO_DATE:将一个字符串转换为日期格式。
2. YEAR/MONTH/DAY:从一个日期字段中提取年份、月份或日期。
3. DATE_ADD:将指定的时间间隔添加到一个日期字段。
4. DATE_DIFF:计算两个日期之间的天数差。
这些日期函数可以帮助我们对时间序列数据进行分析和计算,如计算每月销售额或计算两个日期之间的间隔。
三、数值函数:1. ROUND:对一个数值字段进行四舍五入。
2. ABS:返回一个数值字段的绝对值。
3. CEIL/FLOOR:对一个数值字段进行向上取整或向下取整。
4. POWER/SQRT:计算一个数值字段的幂或平方根。
这些数值函数在数据分析和统计计算中非常有用,可以帮助我们对数据进行处理和转换。
四、集合函数:1. COUNT:统计一个字段中非空值的数量。
2. SUM:计算一个字段中数值的总和。
3. AVG:计算一个字段中数值的平均值。
4. MAX/MIN:找到一个字段中数值的最大值或最小值。
这些集合函数常用于数据汇总和聚合分析,可以帮助我们计算数据的统计指标和概要信息。
除了上述提到的高级函数,Hive还提供了许多其他的内置函数,如条件函数(CASE WHEN)、窗口函数(OVER)、分组函数(GROUP BY)等。
hive函数大全

目录一、关系运算: (4)1. 等值比较: = (4)2. 不等值比较: <> (4)3. 小于比较: < (4)4. 小于等于比较: <= (4)5. 大于比较: > (5)6. 大于等于比较: >= (5)7. 空值判断: IS NULL (5)8. 非空判断: IS NOT NULL (6)9. LIKE比较: LIKE (6)10. JAVA的LIKE操作: RLIKE (6)11. REGEXP操作: REGEXP (7)二、数学运算: (7)1. 加法操作: + (7)2. 减法操作: - (7)3. 乘法操作: * (8)4. 除法操作: / (8)5. 取余操作: % (8)6. 位与操作: & (9)7. 位或操作: | (9)8. 位异或操作: ^ (9)9.位取反操作: ~ (10)三、逻辑运算: (10)1. 逻辑与操作: AND (10)2. 逻辑或操作: OR (10)3. 逻辑非操作: NOT (10)四、数值计算 (11)1. 取整函数: round (11)2. 指定精度取整函数: round (11)3. 向下取整函数: floor (11)4. 向上取整函数: ceil (12)5. 向上取整函数: ceiling (12)6. 取随机数函数: rand (12)7. 自然指数函数: exp (13)8. 以10为底对数函数: log10 (13)9. 以2为底对数函数: log2 (13)10. 对数函数: log (13)11. 幂运算函数: pow (14)12. 幂运算函数: power (14)13. 开平方函数: sqrt (14)14. 二进制函数: bin (14)15. 十六进制函数: hex (15)16. 反转十六进制函数: unhex (15)17. 进制转换函数: conv (15)18. 绝对值函数: abs (16)19. 正取余函数: pmod (16)20. 正弦函数: sin (16)21. 反正弦函数: asin (16)22. 余弦函数: cos (17)23. 反余弦函数: acos (17)24. positive函数: positive (17)25. negative函数: negative (17)五、日期函数 (18)1. UNIX时间戳转日期函数: from_unixtime (18)2. 获取当前UNIX时间戳函数: unix_timestamp (18)3. 日期转UNIX时间戳函数: unix_timestamp (18)4. 指定格式日期转UNIX时间戳函数: unix_timestamp (18)5. 日期时间转日期函数: to_date (19)6. 日期转年函数: year (19)7. 日期转月函数: month (19)8. 日期转天函数: day (19)9. 日期转小时函数: hour (20)10. 日期转分钟函数: minute (20)11. 日期转秒函数: second (20)12. 日期转周函数: weekofyear (20)13. 日期比较函数: datediff (21)14. 日期增加函数: date_add (21)15. 日期减少函数: date_sub (21)六、条件函数 (21)1. If函数: if (21)2. 非空查找函数: COALESCE (22)3. 条件判断函数:CASE (22)4. 条件判断函数:CASE (22)七、字符串函数 (23)1. 字符串长度函数:length (23)2. 字符串反转函数:reverse (23)3. 字符串连接函数:concat (23)4. 带分隔符字符串连接函数:concat_ws (23)5. 字符串截取函数:substr,substring (24)6. 字符串截取函数:substr,substring (24)7. 字符串转大写函数:upper,ucase (24)8. 字符串转小写函数:lower,lcase (25)9. 去空格函数:trim (25)10. 左边去空格函数:ltrim (25)11. 右边去空格函数:rtrim (25)12. 正则表达式替换函数:regexp_replace (26)13. 正则表达式解析函数:regexp_extract (26)14. URL解析函数:parse_url (26)15. json解析函数:get_json_object (27)16. 空格字符串函数:space (27)17. 重复字符串函数:repeat (27)18. 首字符ascii函数:ascii (28)19. 左补足函数:lpad (28)20. 右补足函数:rpad (28)21. 分割字符串函数: split (28)22. 集合查找函数: find_in_set (29)八、集合统计函数 (29)1. 个数统计函数: count (29)2. 总和统计函数: sum (29)3. 平均值统计函数: avg (30)4. 最小值统计函数: min (30)5. 最大值统计函数: max (30)6. 非空集合总体变量函数: var_pop (30)7. 非空集合样本变量函数: var_samp (31)8. 总体标准偏离函数: stddev_pop (31)9. 样本标准偏离函数: stddev_samp (31)10.中位数函数: percentile (31)11. 中位数函数: percentile (31)12. 近似中位数函数: percentile_approx (32)13. 近似中位数函数: percentile_approx (32)14. 直方图: histogram_numeric (32)九、复合类型构建操作 (32)1. Map类型构建: map (32)2. Struct类型构建: struct (33)3. array类型构建: array (33)十、复杂类型访问操作 (33)1. array类型访问: A[n] (33)2. map类型访问: M[key] (34)3. struct类型访问: S.x (34)十一、复杂类型长度统计函数 (34)1. Map类型长度函数: size(Map<K.V>) (34)2. array类型长度函数: size(Array<T>) (34)3. 类型转换函数 (35)一、关系运算:1. 等值比较: =语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1=1;12. 不等值比较: <>语法: A <> B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 <> 2;13. 小于比较: <语法: A < B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 < 2;14. 小于等于比较: <=语法: A <= B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 <= 1;15. 大于比较: >语法: A > B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 2 > 1;16. 大于等于比较: >=语法: A >= B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 >= 1;1注意:String的比较要注意(常用的时间比较可以先to_date之后再比较)hive> select * from lxw_dual;OK2011111209 00:00:00 2011111209hive> select a,b,a<b,a>b,a=b from lxw_dual;2011111209 00:00:00 2011111209 false true false7. 空值判断: IS NULL语法: A IS NULL操作类型: 所有类型描述: 如果表达式A的值为NULL,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where null is null;18. 非空判断: IS NOT NULL语法: A IS NOT NULL操作类型: 所有类型描述: 如果表达式A的值为NULL,则为FALSE;否则为TRUE举例:hive> select 1 from lxw_dual where 1 is not null;19. LIKE比较: LIKE语法: A LIKE B操作类型: strings描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FALSE。
hive中的常用函数

Hive是一种基于Hadoop的数据仓库工具,用于处理大规模数据集。
以下是Hive中常用的一些函数:
聚合函数:
COUNT:计算行数或非NULL值的数量。
SUM:计算数值列的总和。
AVG:计算数值列的平均值。
MIN:找出数值列的最小值。
MAX:找出数值列的最大值。
字符串函数:
CONCAT:连接两个或多个字符串。
LENGTH:返回字符串的长度。
SUBSTR:截取字符串的子串。
TRIM:去除字符串首尾的空格。
LOWER/UPPER:将字符串转换为小写/大写。
时间日期函数:
YEAR/MONTH/DAY:提取日期字段中的年份/月份/日份。
HOUR/MINUTE/SECOND:提取时间字段中的小时/分钟/秒数。
TO_DATE:将字符串转换为日期格式。
条件函数:
IF/ELSE:根据条件返回不同的值。
CASE WHEN/THEN/ELSE/END:根据多个条件返回不同的值。
数学函数:
ABS:返回数值的绝对值。
ROUND:对数值进行四舍五入。
RAND:生成一个随机数。
EXP:返回指定数值的指数值。
LOG:计算数值的自然对数。
这只是Hive中一些常用的函数示例,实际上Hive提供了更多的函数用于处理数据。
你可以根据具体的需求在Hive官方文档中查找更多详细的函数说明和用法。
hive常用的的函数

hive常用的的函数Hive提供了一种简单的SQL查询语言称为HiveQL,它允许数据工程师、数据分析师和应用程序开发人员查询和管理大规模数据。
以下是Hive中常用的一些函数:1. 字符串函数:`length(string)`: 返回字符串的长度。
`concat(string1, string2, ...)`: 连接两个或多个字符串。
`substr(string, start, length)`: 返回字符串的子串。
`trim(string)`: 去除字符串两端的空格。
`ltrim(string)`: 去除字符串左端的空格。
`rtrim(string)`: 去除字符串右端的空格。
2. 数值函数:`abs(bigint)`: 返回整数的绝对值。
`ceil(double)`: 返回大于或等于给定数字的最小整数。
`floor(double)`: 返回小于或等于给定数字的最大整数。
`round(double, ndigits)`: 返回四舍五入的值,其中ndigits是精度。
`mod(int, int)`: 返回第一个参数除以第二个参数的余数。
3. 日期函数:`current_date()`: 返回当前日期。
`from_unixtime(unix_timestamp[, format])`: 将UNIX时间戳转换为指定格式的日期时间。
`unix_timestamp()`: 将当前日期和时间转换为UNIX时间戳(以秒为单位)。
`date_format(date, format)` or `date_format(timestamp, format)`: 将日期/时间值格式化为指定的字符串格式。
4. 聚合函数:`count(), count(column)`: 计算行数或非NULL值的数量。
`sum(column)`: 计算列的总和。
`avg(column)`: 计算列的平均值。
`min(column)`: 返回列中的最小值。
hive 常用的函数

Apache Hive 是一个基于Hadoop 的数据仓库工具,它提供了类似SQL 的查询语言HiveQL 来处理大规模的数据集。
以下是一些Hive 中常用的函数类别及示例:1. 数学与舍入函数•ABS(x): 返回x 的绝对值。
•FLOOR(x): 对浮点数x 进行向下取整。
•CEIL(x): 对浮点数x 进行向上取整。
•ROUND(x[, d]): 对数字x 进行四舍五入,d(可选)表示要保留的小数位数。
2. 字符串函数•LENGTH(str): 返回字符串str 的长度。
•LOWER(str)或lcase(str): 将字符串转换为小写。
•UPPER(str)或ucase(str): 将字符串转换为大写。
•CONCAT(string1, string2,...): 连接多个字符串。
•TRIM([BOTH|LEADING|TRAILING] 'chars' FROM str): 删除字符串两侧或指定一侧的字符。
3. 日期和时间函数•FROM_UNIXTIME(epoch, format): 将Unix 时间戳转换为日期格式。
•UNIX_TIMESTAMP(): 获取当前Unix 时间戳。
•DATE_FORMAT(date_expression, format_string): 格式化日期表达式。
•YEAR(date), MONTH(date), DAY(date): 提取日期中的年、月、日部分。
4. 聚合函数•COUNT(*): 统计行数。
•SUM(column): 计算某一列的总和。
•AVG(column): 计算平均值。
•MAX(column): 找出一列的最大值。
•MIN(column): 找出一列的最小值。
•GROUP_CONCAT(column): 合并一组值为单个字符串(在某些版本的Hive 中可用)。
5. 集合函数•COLLECT_SET(column): 返回一组唯一的值组成的集合,无序且会去除重复值。
hive空间函数

Hive是基于Hadoop的数据仓库工具,支持SQL语句和类SQL语句,提供了一些空间函数,用于处理空间数据。
以下是常用的Hive空间函数:
1. ST_Area:计算几何图形的面积。
2. ST_Boundary:返回几何图形的边界。
3. ST_Centroid:计算几何图形的重心。
4. ST_ConvexHull:计算几何图形的凸壳。
5. ST_Contains:判断一个几何图形是否包含另一个几何图形。
6. ST_Crosses:判断两个几何图形是否交叉。
7. ST_Disjoint:判断两个几何图形是否不相交。
8. ST_Envelope:返回几何图形的最小外接矩形。
9. ST_Equals:判断两个几何图形是否相等。
10. ST_Intersects:判断两个几何图形是否交叉。
11. ST_PointOnSurface:返回几何图形表面上的一个点。
12. ST_SymDifference:返回两个几何图形的对称差集。
13. ST_Union:返回多个几何图形的并集。
14. ST_Within:判断一个几何图形是否在另一个几何图形内部。
15. ST_X:返回几何图形的x坐标。
16. ST_Y:返回几何图形的y坐标。
这些空间函数在处理空间数据时非常有用,例如可以用于计算地理区域的面积、周长、重心等信息,判断两个地理位置之间的距离、相交关系等。
hive函数大全

hive函数大全1.内置运算符1.1关系运算符运算符类型说明A =B 原始类型如果A与B相等,返回TRUE,否则返回FALSEA ==B 无失败,因为无效的语法。
SQL使用”=”,不使用”==”。
A <>B 原始类型如果A不等于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A <B 原始类型如果A小于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A <=B 原始类型如果A小于等于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A >B 原始类型如果A大于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A >=B 原始类型如果A大于等于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A IS NULL 所有类型如果A值为”NULL”,返回TRUE,否则返回FALSEA IS NOT NULL 所有类型如果A值不为”NULL”,返回TRUE,否则返回FALSEA LIKEB 字符串如果A或B值为”NULL”,结果返回”NULL”。
字符串A与B通过sql 进行匹配,如果相符返回TRUE,不符返回FALSE。
B字符串中的”_”代表任一字符,”%”则代表多个任意字符。
例如:(…foobar‟ like …foo‟)返回FALSE,(…foobar‟ like …foo_ _ _‟或者…foobar‟ like …foo%‟)则返回TUREA RLIKEB 字符串如果A或B值为”NULL”,结果返回”NULL”。
字符串A与B通过java 进行匹配,如果相符返回TRUE,不符返回FALSE。
例如:(…foobar‟rlike …foo‟)返回FALSE,(‟foobar‟rlike …^f.*r$‟)返回TRUE。
Hive常用函数大全-数值计算

Hive常⽤函数⼤全-数值计算 11、取整函数:round(X)(遵循四舍五⼊)2select round(3.1415926) from table--33select round(3.5) from table--4452、指定精度取整函数: round(X,Y)(遵循四舍五⼊)6select round(3.14159,3) from table--3.1427select round(3.14123,3) from table--3.141893、向下取整函数: floor(X)10select floor(3.6) from table--311select floor(3.3) from table--312134、向上取整函数: ceiling(X)14select ceiling(3.6) from table--415select ceiling(3.3) from table--416175、取随机数函数: rand(X)(返回⼀个0到1范围内的随机数)18select rand() from table--0.22212132324219206、取随机数函数: rand(X)(重复执⾏结果相同:返回⼀个稳定的随机数序列)21select rand(100) from table--0.684145478237322237、⾃然指数函数: exp(X)(返回e的X次⽅)24select exp(2) from table--e*e25268、以10为底对数函数: log10(X)(返回以10为底的X的对数)27select log10(100) from table--228299、以2为底对数函数: log2(X)(返回以2为底的X的对数)30select log2(8) from table--3313210、对数函数: log(X,Y)(返回以X为底的y的对数:2的3次⽅=8)33select log(2,8) from table--3343511、幂运算函数: pow(X,Y)/power(X,Y)(返回X的Y次幂)36select pow(2,4) from table--16373812、开平⽅函数: sqrt(X)(返回X的平⽅根)39select sqrt(16) from table--4404113、⼆进制函数: bin(X)(返回X的⼆进制表⽰)42select bin(7) from table--111434414、⼗六进制函数: hex(X)(返回X的⼗六进制表⽰)45select hex('ab') from table--6162464715、反转⼗六进制函数: unhex(X)48select hex('6162') from table--ab495016、进制转换函数: conv(X,Y,Z)(将数值X从Y进制转化到Z进制)51select conv(17,10,2) from table--10001525317、绝对值函数: abs(X)(返回X的绝对值)54select abs(-111.9) from table--111.955select abs(111.9) from table--111.9565718、正取余函数: pmod(X,Y)(返回X除以Y的余数)58select pmod(9,4) from table--159select pmod(-9,4) from table--3606119、正弦函数: sin(X)(返回X的正弦值)62select sin(0.8) from table--0.7173560908995228636420、反正弦函数: asin(X)(返回X的反正弦值)65select asin(0.7173560908995228) from table--0.8666721、余弦函数: cos(X)(返回X的余弦值)68select cos(0.9) from table--0.6216099682706644697022、反余弦函数: acos(X)(返回X的反余弦值)71select cos(0.6216099682706644) from table--0.9。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一、关系运算: (4)1. 等值比较: = (4)2. 不等值比较: <> (4)3. 小于比较: < (4)4. 小于等于比较: <= (4)5. 大于比较: > (5)6. 大于等于比较: >= (5)7. 空值判断: IS NULL (5)8. 非空判断: IS NOT NULL (6)9. LIKE比较: LIKE (6)10. JAVA的LIKE操作: RLIKE (6)11. REGEXP操作: REGEXP (7)二、数学运算: (7)1. 加法操作: + (7)2. 减法操作: - (7)3. 乘法操作: * (8)4. 除法操作: / (8)5. 取余操作: % (8)6. 位与操作: & (9)7. 位或操作: | (9)8. 位异或操作: ^ (9)9.位取反操作: ~ (10)三、逻辑运算: (10)1. 逻辑与操作: AND (10)2. 逻辑或操作: OR (10)3. 逻辑非操作: NOT (10)四、数值计算 (11)1. 取整函数: round (11)2. 指定精度取整函数: round (11)3. 向下取整函数: floor (11)4. 向上取整函数: ceil (12)5. 向上取整函数: ceiling (12)6. 取随机数函数: rand (12)7. 自然指数函数: exp (13)8. 以10为底对数函数: log10 (13)9. 以2为底对数函数: log2 (13)10. 对数函数: log (13)11. 幂运算函数: pow (14)12. 幂运算函数: power (14)13. 开平方函数: sqrt (14)14. 二进制函数: bin (14)15. 十六进制函数: hex (15)16. 反转十六进制函数: unhex (15)17. 进制转换函数: conv (15)18. 绝对值函数: abs (16)19. 正取余函数: pmod (16)20. 正弦函数: sin (16)21. 反正弦函数: asin (16)22. 余弦函数: cos (17)23. 反余弦函数: acos (17)24. positive函数: positive (17)25. negative函数: negative (17)五、日期函数 (18)1. UNIX时间戳转日期函数: from_unixtime (18)2. 获取当前UNIX时间戳函数: unix_timestamp (18)3. 日期转UNIX时间戳函数: unix_timestamp (18)4. 指定格式日期转UNIX时间戳函数: unix_timestamp (18)5. 日期时间转日期函数: to_date (19)6. 日期转年函数: year (19)7. 日期转月函数: month (19)8. 日期转天函数: day (19)9. 日期转小时函数: hour (20)10. 日期转分钟函数: minute (20)11. 日期转秒函数: second (20)12. 日期转周函数: weekofyear (20)13. 日期比较函数: datediff (21)14. 日期增加函数: date_add (21)15. 日期减少函数: date_sub (21)六、条件函数 (21)1. If函数: if (21)2. 非空查找函数: COALESCE (22)3. 条件判断函数:CASE (22)4. 条件判断函数:CASE (22)七、字符串函数 (23)1. 字符串长度函数:length (23)2. 字符串反转函数:reverse (23)3. 字符串连接函数:concat (23)4. 带分隔符字符串连接函数:concat_ws (23)5. 字符串截取函数:substr,substring (24)6. 字符串截取函数:substr,substring (24)7. 字符串转大写函数:upper,ucase (24)8. 字符串转小写函数:lower,lcase (25)9. 去空格函数:trim (25)10. 左边去空格函数:ltrim (25)11. 右边去空格函数:rtrim (25)12. 正则表达式替换函数:regexp_replace (26)13. 正则表达式解析函数:regexp_extract (26)14. URL解析函数:parse_url (26)15. json解析函数:get_json_object (27)16. 空格字符串函数:space (27)17. 重复字符串函数:repeat (27)18. 首字符ascii函数:ascii (28)19. 左补足函数:lpad (28)20. 右补足函数:rpad (28)21. 分割字符串函数: split (28)22. 集合查找函数: find_in_set (29)八、集合统计函数 (29)1. 个数统计函数: count (29)2. 总和统计函数: sum (29)3. 平均值统计函数: avg (30)4. 最小值统计函数: min (30)5. 最大值统计函数: max (30)6. 非空集合总体变量函数: var_pop (30)7. 非空集合样本变量函数: var_samp (31)8. 总体标准偏离函数: stddev_pop (31)9. 样本标准偏离函数: stddev_samp (31)10.中位数函数: percentile (31)11. 中位数函数: percentile (31)12. 近似中位数函数: percentile_approx (32)13. 近似中位数函数: percentile_approx (32)14. 直方图: histogram_numeric (32)九、复合类型构建操作 (32)1. Map类型构建: map (32)2. Struct类型构建: struct (33)3. array类型构建: array (33)十、复杂类型访问操作 (33)1. array类型访问: A[n] (33)2. map类型访问: M[key] (34)3. struct类型访问: S.x (34)十一、复杂类型长度统计函数 (34)1. Map类型长度函数: size(Map<K.V>) (34)2. array类型长度函数: size(Array<T>) (35)3. 类型转换函数 (35)十二、join,group,order,distribute,常用函数 (35)一、关系运算:1. 等值比较: =语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1=1;12. 不等值比较: <>语法: A <> B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 <> 2;13. 小于比较: <语法: A < B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 < 2;14. 小于等于比较: <=语法: A <= B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 <= 1;15. 大于比较: >语法: A > B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 2 > 1;16. 大于等于比较: >=语法: A >= B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 >= 1;1注意:String的比较要注意(常用的时间比较可以先to_date之后再比较)hive> select * from lxw_dual;OK2011111209 00:00:00 2011111209hive> select a,b,a<b,a>b,a=b from lxw_dual;2011111209 00:00:00 2011111209 false true false7. 空值判断: IS NULL语法: A IS NULL操作类型: 所有类型描述: 如果表达式A的值为NULL,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where null is null;18. 非空判断: IS NOT NULL语法: A IS NOT NULL操作类型: 所有类型描述: 如果表达式A的值为NULL,则为FALSE;否则为TRUE举例:hive> select 1 from lxw_dual where 1 is not null;19. LIKE比较: LIKE语法: A LIKE B操作类型: strings描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FALSE。
B中字符”_”表示任意单个字符,而字符”%”表示任意数量的字符。
举例:hive> select 1 from lxw_dual where 'football' like 'foot%';1hive> select 1 from lxw_dual where 'football' like 'foot____';1注意:否定比较时候用NOT A LIKE Bhive> select 1 from lxw_dual where NOT 'football' like 'fff%';110. JAVA的LIKE操作: RLIKE语法: A RLIKE B操作类型: strings描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合JAVA正则表达式B的正则语法,则为TRUE;否则为FALSE。