参考地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

  1. parse_url(url, partToExtract[, key])

解析URL字符串,partToExtract的选项包含[HOST,PATH,QUERY,REF,PROTOCOL,FILE,AUTHORITY,USERINFO]
eg:
 
 
 
 

2. concat(str1,SEP,str2,SEP,str3,……) 和 concat_ws(SEP,str1,str2,str3, ……)

字符串连接函数,需要是 string型字段。

如果4个字段,想得到如下结果,看下两个函数的区别:

eg: 

代码1: select concat('江苏省','-','南京市','-','玄武区','-','徐庄软件园');

代码2: select concat_ws('-','江苏省','南京市','玄武区','徐庄软件园');

结论:当连接的内容(字段)多于2个的时候,concat_ws的优势就显现了,写法简单、方便。

  3. unix_timestamp() 当前系统时间

unix_timestamp() 是将当前系统时间转换成数字型秒数,from_unixtime 将数字型按照 格式进行时间转换。

eg:

代码:select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss');

  4. regexp_replace(string A, string B, string C) 字符串替换函数,将字符串A 中的B 用 C 替换。

eg: 

代码:select regexp_replace('www.tuniu.com','tuniu','jd');

  5. repeat(string str, int n) 重复N次字符串

eg:

代码:select repeat('ab',3);

  6. lpad(string str, int len, string pad) 将字符串str 用pad进行左补足 到len位(如果位数不足的话)

eg:

代码:select lpad('ab',7,'k');

  7. rpad(string str, int len, string pad) 将字符串str 用pad进行右补足 到len位(如果位数不足的话)

eg:

代码:select rpad('ab',7,'k');

  8. trim(string A) 删除字符串两边的空格,中间的会保留。

相应的 ltrim(string A) ,rtrim(string A)

eg:

  9. to_date(string timestamp) 将时间戳转换成日期型字符串

eg:

代码:select to_date('2017-01-16 09:55:54');

  10. datediff(string enddate, string startdate) 返回int 的两个日期差

eg:

代码:select datediff('2017-01-16', '2017-01-10');

  11. date_add(string startdate, int days) 日期加减

eg:

代码:select date_add('2017-01-10', 7);

  12. current_timestamp 和 current_date 返回当前时间戳,当前日期

eg:

  13. date_format(date/timestamp/string ts, string fmt) 按照格式返回字符串

eg: 

代码:select date_format('2017-01-16 09:55:54', 'yyyy-MM-dd');

  14. last_day(string date) 返回 当前时间的月末日期

eg:

代码:select last_day('2017-01-16 09:55:54');

  15. if(boolean testCondition, T valueTrue, T valueFalseOrNull) ,根据条件返回不同的值

eg: 

  16. nvl(T value, T default_value) 如果T is null ,返回默认值

  17. length(string A) 返回字符串A的长度

eg:

代码:select length('kimbo');

  18. greatest(T v1, T v2, ...) 返回最大值,会过滤null

eg:

代码:select greatest('2016-01-01',NULL,'2017-01-01');

  19. least(T v1, T v2, ...) 返回最小值,会过滤null

eg: 

代码:select least('2016-01-01',NULL,'2017-01-01','2015-01-01');

  20. rand(), 返回0-1的随机值。rand(INT seed) 返回固定的随机值。

eg:

  21. md5(string/binary)  hive 1.3以上版本,返回md5码

  22. split(str, regex) ,安装规则截取字符串,返回数组

eg:

代码:select split('ab-cd','-')[0];

Hive 常用函数的更多相关文章

  1. Hive常用函数的使用

    Hive常用函数的使用 文章作者:foochane  原文链接:https://foochane.cn/article/2019062501.html 1 基本介绍 1.1 HIVE简单介绍 Hive ...

  2. hive常用函数 wordCount--Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战

    第三天笔记 第三天笔记 SQL练习Hive 常用函数关系运算数值计算条件函数日期函数重点!!!字符串函数Hive 中的wordCount1.1 Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战 ...

  3. Hive常用函数

    字符串函数 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length(‘abcedfg’ ...

  4. orcale和hive常用函数对照表(?代表未证实)

    函数分类 oracle hive 说明 字符函数 upper('coolszy') upper(string A) ucase(string A) 将文本字符串转换成字母全部大写形式 lower('K ...

  5. Hive 常用函数汇总

    Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数. 目录 数学函数 集合函数 类型转换函数 日期函数 条件函数 ...

  6. hive常用函数六

    cast 函数: 类型转换函数,cast(kbcount as int); case when: 条件判断,case when kbcount is not null and cast(kbcount ...

  7. hive常用函数五

    复合类型构建操作 1. Map类型构建: map 语法: map (key1, value1, key2, value2, …) 说明:根据输入的key和value对构建map类型 举例: hive& ...

  8. hive常用函数四

    字符串函数 1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abced ...

  9. hive常用函数三

    日期函数 1. UNIX时间戳转日期函数: from_unixtime 语法: from_unixtime(bigint unixtime[, string format]) 返回值: string ...

随机推荐

  1. Microsoft 电信项目组 Net代码生成器1.1

    Microsoft 电信项目组 Net代码生成器1.1 微软电信项目组代码生成器 为什么要使用这个代码生成器: 1.这个代码生成器采用 微软 企业库5.0 版本,目前CAPO所在的项目组都在使用这个 ...

  2. Opengl坐标转换

    有时候我们需要手动计算三维点对应的二维坐标,下面的矩阵公式就是模拟了一遍三维图形的流程.这里已假设读者具备了图形学的基础知识,比如矩阵乘法代表的三维变换,放射变换:还有齐次坐标等. 这里不考虑模型自身 ...

  3. Visual Studio 2012设置Jquery/Javascript智能提示

    Visual Studio 2012设置Jquery/Javascript智能提示 在Visual Studio 2008 Visual Studio 2010中微软已经开始支持jquery/java ...

  4. Android开发(24)---安卓中实现多线程下载(带进度条和百分比)

    当我们学完java中多线程的下载后,可以将它移植到我们的安卓中来,下面是具体实现源码: DownActivity.java package com.example.downloads; import ...

  5. java获取真实ip

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...

  6. 使用多个DNS供应商以缓解DDoS攻击

        随着不安全物联网(IoT)设备的激增,针对域名系统(DNS)供应商的分布式拒绝服务(DDoS)攻击在数量和规模上正在不断增加.这些攻击随之影响依赖于这些供应商进行域名解析的网站.虽然DNS供应 ...

  7. Web VLC 设置 tcp 协议播放

    前言 web 端播放rtsp 流,一般都是采用vlc插件,默认是用 UDP 协议播放,这就会存在丢包的可能性,导致界面会变花,要想不花,需要使用更可靠的TCP协议.关于这两种协议的区别,大家可以自行查 ...

  8. Date类型常用概念及方法总结(1)

      Date类型使用UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存时间. (1)创建当前日期           调用Date不传递参数的情况下,创建的新对象自动获得当前日期和时间 ...

  9. arcengine 开发经典帖

    http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=25575&page=1&extra= 使用ArcGIS Engine 开发自定义 ...

  10. 【CodeVS】1293

    输入输出样例 思路:看到题目我萌第一眼想到的肯定是求联通快对吧,但是这个联通快有点奇特,因为 这样他也算是一个联通快.解决此题其实有三种解法:1)宽搜(这个符合基本法):2)并查集:3)灌水法 但是蒟 ...