Hive函数大全(含例子)之字符串函数(String Functions)

这篇博客详细介绍了Hive中的字符串函数,包括ascii、base64、concat、context_ngrams、decode、encode等,提供了丰富的示例,帮助理解其功能和用法。同时还提到了相关文章,如集合函数、日期函数和数学函数的介绍。
摘要由CSDN通过智能技术生成

字符串函数 String Functions

ascii(string str)

  • 返回结果: 返回字符串str首字母的十进制ascii码
  • 返回类型: int
  • select ascii('ABC'); -- 结果为 65

base64(binary bin)

  • 返回结果: 将二进制转换为base64编码
  • 返回类型: string
  • select base64(encode('Uncle Bean', 'utf8')); -- 结果为 VW5jbGUgQmVhbg==
  • select base64(encode('Melon-and-fruit-fields', 'utf-8')); -- 结果为 TWVsb24tYW5kLWZydWl0LWZpZWxkcw====

character_length(string str)

  • character_length 可缩写为 char_length
  • 返回结果: 返回str中包含的UTF-8字符数
  • 返回类型: int
  • select character_length('123456'); -- 结果为 6
  • select char_length('ABCDEFGHIJK'); -- 结果为 11

chr(bigint|double A)

  • 返回结果: 将数字A转为对应的ascii字符, 如果A大于等于256,则结果同chr(A % 256)
  • 返回类型: string
  • select chr(65); -- 结果为 A
  • select chr(65.6); -- 结果为 A
  • select chr(321); -- 结果为 A
  • select chr(321 % 256); -- 结果为 A

concat(string|binary A, string|binary B...)

  • 返回结果: 拼接字符串,函数接受任意数量的输入
  • 返回类型: string
  • select concat('A', 'C', 'B'); -- 结果为 ACB
  • select concat(encode('A', 'utf8'), encode('C', 'utf8'), encode('B', 'utf8')); -- 结果为 ACB

context_ngrams(array<array>, array, int K, int pf)

  • 返回结果: 使用n-gram模型,通过指定array,提取前K个上下文文本;pf越大,精度越高,同时消耗的内存资源也更大
  • 返回类型: array<struct<string,double>>
  • select context_ngrams(array(array('from','a'),array('from','a'),array('from','b')), array('from', null), 1); -- 结果为 [{"ngram":["a"],"estfrequency":2.0}]
  • select context_ngrams(array(array('from','a'),array('from','a'),array('from','b')), array('from', null), 2); -- 结果为 [{"ngram":["a"],"estfrequency":2.0},{"ngram":["b"],"estfrequency":1.0}]

concat_ws(string SEP, string A, string B...)

  • 返回结果: 使用指定分隔符 SEP 拼接字符串,传入参数为多个字符串
  • 返回类型: string
  • select concat_ws('-', 'Melon', 'and', 'fruit', 'fields'); -- 结果为 Melon-and-fruit-fields

concat_ws(string SEP, array)

  • 返回结果: 使用指定分隔符 SEP 拼接字符串,传入参数为 array
  • 返回类型: string
  • select concat_ws('-', array('Melon', 'and', 'fruit', 'fields')); -- 结果为 Melon-and-fruit-fields

decode(binary bin, string charset)

  • 返回结果: 解码(字符集 charset 包括'US-ASCII', 'ISO-8859-1', 'UTF-8'
Hive SQL支持许多内置函数,包括以下类型: 1. 聚合函数(Aggregate Functions) - AVG():计算平均值。 - COUNT():返回输入行数或非 NULL 值的个数。 - MAX():返回最大值。 - MIN():返回最小值。 - SUM():返回总和。 2. 数学函数(Mathematical Functions) - ABS():返回绝对值。 - CEIL():返回大于等于给定数的最小整数。 - EXP():返回 e 的幂次方。 - FLOOR():返回小于等于给定数的最大整数。 - LN():返回指定数字的自然对数。 - LOG():返回指定数字的对数。 - MOD():返回给定数的余数。 - POWER():返回指定数字的幂次方。 - RAND():返回一个随机数。 - ROUND():返回指定数字的四舍五入值。 - SIGN():返回数字的符号。 - SQRT():返回指定数字的平方根。 3. 日期和时间函数(Date and Time Functions) - ADD_MONTHS():给定日期加上月份。 - CURRENT_DATE():返回当前日期。 - CURRENT_TIMESTAMP():返回当前时间戳。 - DATE_ADD():给定日期加上指定天数。 - DATE_SUB():给定日期减去指定天数。 - DATEDIFF():返回两个日期之间的天数。 - FROM_UNIXTIME():将 UNIX 时间戳转换为日期时间格式。 - HOUR():返回指定时间的小时数。 - MONTH():返回指定日期的月份。 - NOW():返回当前日期和时间。 - SECOND():返回指定时间的秒数。 - TO_DATE():将时间戳转换为日期格式。 - UNIX_TIMESTAMP():将日期时间格式转换为 UNIX 时间戳。 - YEAR():返回指定日期的年份。 4. 字符串函数String Functions) - CONCAT():连接两个或多个字符串。 - LENGTH():返回字符串长度。 - LOWER():将字符串转换为小写。 - REGEXP_REPLACE():替换与正则表达式匹配的字符串。 - REPLACE():替换字符串。 - SPLIT():将字符串拆分为数组。 - SUBSTR():返回指定位置的子字符串。 - TRIM():去除字符串两端的空格。 - UPPER():将字符串转换为大写。 这只是 Hive SQL 内置函数的一部分,还有很多其他函数可以使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值