当前位置: 首页 > news >正文

hive函数大全

在hive内部有许多函数,如下:

内置运算符
关系运算符
算术运算符
逻辑运算符
复杂类型函数
内置函数内置聚合函数
数学函数
收集函数
类型转换函数
日期函数
条件函数
字符函数
内置聚合函数
内置表生成函数
1.1关系运算符

  1. 等值比较: =
  2. 等值比较:<=>
  3. 不等值比较: <>和!=
  4. 小于比较: <
  5. 小于等于比较: <=
  6. 大于比较: >
  7. 大于等于比较: >=
  8. 空值判断: IS NULL
  9. 非空判断: IS NOT NULL
  10. LIKE 比较: LIKE
  11. JAVA 的 LIKE 操作: RLIKE
  12. REGEXP 操作: REGEXP

1.2算术运算符

  1. 加法操作: +
  2. 减法操作: –
  3. 乘法操作: *
  4. 除法操作: /
  5. 取余操作: %
  6. 位与操作: &
  7. 位或操作: |
  8. 位异或操作: ^
    9.位取反操作: ~

1.3逻辑运算符

  1. 逻辑与: AND 、&&
  2. 逻辑或: OR 、|
  3. 逻辑非: NOT、!

1.4复杂类型函数

  1. 获取array中的元素
  2. 获取map中的元素
  3. 获取struct中的元素

2.1数学函数

  1. 取整函数: round(double a)         四舍五入
  2. 指定精度取整函数: round(double a,int d)  小数部分d位之后数字四舍五入
  3. 向下取整函数: floor(double a)       对给定数据进行向下舍入最接近的整数
  4. 向上取整函数: ceil(double a)        将参数向上舍入为最接近的整数
  5. 向上取整函数: ceiling(double a)
  6. 取随机数函数: rand
  7. 自然指数函数: exp(double a)        返回e的n次方
  8. 以 10 为底对数函数: log10
  9. 以 2 为底对数函数: log2
  10. 对数函数: log(double base,double a)    返回给定底数及指数返回自然对数
  11. 幂运算函数: pow(double a,double p)     返回某数的乘幂
  12. 幂运算函数: power(double a,double p)
  13. 开平方函数: sqrt             返回数值的平方根
  14. 二进制函数: bin
  15. 十六进制函数: hex
  16. 反转十六进制函数: unhex
  17. 进制转换函数: conv
  18. 绝对值函数: abs
  19. 正取余函数: pmod(int a,int b)
  20. 正弦函数: sin
  21. 反正弦函数: asin
  22. 余弦函数: cos
  23. 反余弦函数: acos
  24. positive 函数: positive(int a)    返回a的值
  25. negative 函数: negative(int a)    返回a的相反数

2.2收集函数

array/map类型大小: size         返回array/map类型的元素数量

2.3类型转换函数

基础类型之间强制转换:cast(field/expr as )

2.4日期函数

  1. UNIX 时间戳转日期函数: from_unixtime
  2. 获取当前 UNIX 时间戳函数: unix_timestamp
  3. 日期转 UNIX 时间戳函数: unix_timestamp
  4. 指定格式日期转 UNIX 时间戳函数: unix_timestamp
  5. 日期时间转日期函数: to_date
  6. 日期转年函数: year
  7. 日期转月函数: month
  8. 日期转天函数: day
  9. 日期转小时函数: hour
  10. 日期转分钟函数: minute
  11. 日期转秒函数: second
  12. 日期转周函数: weekofyear
  13. 日期比较函数: datediff
  14. 日期增加函数: date_add
  15. 日期减少函数: date_sub
  16. 日期查看函数: date_format
    17 日期函数:last_day 返回当前月最后一天日期

2.5条件函数

  1. if 函数: if(boolean condition,true_value,false_value)
  2. 非空查找函数: coalesce(v1,v2,v3…)      返回一组数据中第一个不为null的值
  3. 条件判断函数:case when a then b else c end  当值为a时返回b,否则返回c

2.6字符函数

  1. 字符 ascii 码函数:ascii
  2. base64 字符串
  3. 字符串连接函数:concat(String a,String b)           连接多个字符串,合并为一个字符串
  4. 带分隔符字符串连接函数:concat_ws(joinstr,String a,String b) 连接多个字符串,字符串之间以指定的分隔符分开
  5. 小数位格式化成字符串函数:format_number
  6. 字符串截取函数:substr(String a,int start),substring(String a,int start)从文本字符串指定的起始位置后的字符
  7. 字符串查找函数:instr
  8. 字符串长度函数:length
  9. 字符串查找函数:locate
  10. 字符串格式化函数:printf
  11. 字符串转换成 map 函数:str_to_map
  12. base64 解码函数:unbase64(string str)
  13. 字符串转大写函数:upper,ucase
  14. 字符串转小写函数:lower,lcase
  15. 去空格函数:trim
  16. 左边去空格函数:ltrim
  17. 右边去空格函数:rtrim
  18. 正则表达式替换函数:regexp_replace(string a,string b,string c) 字符串a中的b字符被c字符替代
  19. 正则表达式解析函数:regexp_extract
  20. URL 解析函数:parse_url
  21. json 解析函数:get_json_object(string json_string,string path) 拆分取值
  22. 空格字符串函数:space                      返回指定数量的空格
  23. 重复字符串函数:repeat(string a,int b)             重复b次a字符串
  24. 左补足函数:lpad
  25. 右补足函数:rpad
  26. 分割字符串函数: split
  27. 集合查找函数: find_in_set
  28. 分词函数:sentences(string a)                  将字符串中内容按语句分组,每个单词间以逗号分隔,最后返回数组
  29. 分词后统计一起出现频次最高的 TOP-K
  30. 分词后统计与指定单词一起出现频次最高的 TOP-K
  31. 倒序字符串:reverse
  32. ngrams
  33. context_ngrams
  34. first_value/last_value         返回当前列第一个(最后一个)值
  35. lag/lead                       返回当前值的前后值

3.内置聚合函数

  1. 个数统计函数: count
  2. 总和统计函数: sum
  3. 平均值统计函数: avg
  4. 最小值统计函数: min
  5. 最大值统计函数: max
  6. 返回指定列的方差: var_pop
  7. 返回指定列的样本方差: var_samp
  8. 返回指定列的偏差: stddev_pop
  9. 返回指定列的样本偏差: stddev_samp
  10. 两列数值协方差:covar_pop
  11. 两列数值样本协方差:covar_samp
  12. 返回两列数值的相关系数:corr(col1,col2)
    13.中位数函数: percentile
  13. 近似中位数函数: percentile_approx
  14. 直方图: histogram_numeric
  15. 集合去重数:collect_set
  16. 集合不去重函数:collect_list

4.内置表生成函数

  1. array/map拆分多行:explode
    2.json_tuple

测试:

1.1关系运算符

关系运算符:= <=> > >= < <=

– select 5<=>5 true
– select 6>=5 true
– select 8<=7 false
like/rlike比较

– select ‘football’ like ‘foot%’ true
– select ‘2697566722@qq.com’ rlike ‘\@[0-9a-z]{2,}.(com|cn|org|edu)’ true
regexp

– select ‘football’ regexp ‘\w{9,}[a-z]’ false
1.2算术运算符

复制代码
– select 5+5 10
– select 5-5 0
– select 5*5 25
– select 5/5 1
– select 5%4 1
– select 5&9 1
– select 5|9 13
– select 5^9 12
复制代码
1.4复杂类型函数

– select array(1,4,5,6,8) [1,4,5,6,8]
– select map(‘name’,‘张三’,‘age’,18) {“name”:“张三”,“age”:“18”}
– select struct(array(1,3,5),map(‘name’,‘张三’,‘age’,18)) {“col1”:[1,3,5],“col2”:{“name”:“张三”,“age”:“18”}}
2.1数学函数

复制代码
– select round(5.3423) 5
– select round(5.345,2) 5.35
– select floor(5.9) 5
– select ceil(5.1) 6
– select rand() 0.7311469360199058
– select exp(2) 7.38905609893065
– select log(5,25) 2
– select pow(2,3) 8
– select sqrt(25) 5
– select bin(8) 1000
– select hex(16) 10
– select unhex(100)
– select abs(-10) 10
– select pmod(5,2) 1
– select sin(3.1415926/2) 0.9999999999999997
– select asin(0.9999999999999997) 1.5707963009853283
– select positive(10) 10
– select negative(10) -10
复制代码
2.2收集函数

– select size(array(1,3,4,5,6,7,8)) 7
2.4日期函数

复制代码
– select from_unixtime(0,‘yyyy-MM-dd HH:mm:ss’) 1969-12-31 19:00:00
– select unix_timestamp() 1598707426
– select to_date(‘2020-1-1’) 2020-01-01
– select year(current_date()) 2020
– select month(current_date()) 8
– select day(current_date()) 29
– select hour(current_timestamp()) 9
– select minute(current_timestamp()) 26
– select second(current_timestamp()) 15
– select weekofyear(current_date()) 35
– select datediff(current_date(),‘2020-08-01’) 28
– select date_add(current_date(),1) 2020-08-30
– select date_sub(current_date(),1) 2020-08-28
– select date_format(current_date(),‘y’) 2020
– select last_day(‘2020-01-02’) 2020-01-31
复制代码
2.5条件函数

– select if(1=3,3,2) 2
– select coalesce(null,3,null,4) 3
– select case when 5>9 then 4 else 0 end 0
2.6字符函数

复制代码
– select ascii(‘,’) 44
– select concat(‘张三’,‘吃饭’) 张三吃饭
– select concat_ws(‘-’,‘张三’,‘干嘛去了’) 张三-干嘛去了
– select format_number(2.4234432532,3) 2.423
– select substr(87654321,3,2) 65
– select instr(‘张三在哪’,‘在’) 3
– select length(‘324322’) 6
– select locate(‘吗’,‘吃了吗’) 3
– select printf(‘你好’) 你好
– select str_to_map(‘name:李四,age:18’,‘,’,‘:’) {“name”:“李四”,“age”:“18”}
– select upper(‘abc’) ABC
– select lower(‘ABC’) abc
– select trim(’ 你好 ‘) 你好
– select regexp_replace(‘早上好’,‘早’,‘晚’) 晚上好
– SELECT regexp_extract(‘100-200’, ‘(\d+)-(\d+)’, 1) FROM src LIMIT 1 100
– select parse_url(‘https://home.cnblogs.com/u/afeiiii/’,‘PROTOCOL’) https
– select id,get_json_object(line,’ . n a m e ′ ) n a m e , g e t j s o n o b j e c t ( l i n e , ′ .name') name,get_json_object(line,' .name)name,getjsonobject(line,.age’) age,get_json_object(line,‘$.gender’) gender from jsontest
– select repeat(‘a’,4) aaaa
– select split(‘howAareByou’,‘[AB]’) [“how”,“are”,“you”]
– select find_in_set(‘aa’,‘aa,bb,aa’) 1
– select sentences(‘你,吃了吗’) [[“你”,“吃了吗”]]
复制代码
4.内置表生成函数

–explode(a) - separates the elements of array a into multiple rows, or the elements of a map into multiple rows and columns   explode适合array/map的拆分
–select id,t.name,t.age,t.gender from jsontest lateral view json_tuple(line,‘name’,‘age’,‘gender’)t as name,age,gender json_tuple适合String类型拆分

相关文章:

hive函数大全

在hive内部有许多函数&#xff0c;如下&#xff1a; 内置运算符 关系运算符 算术运算符 逻辑运算符 复杂类型函数 内置函数内置聚合函数 数学函数 收集函数 类型转换函数 日期函数 条件函数 字符函数 内置聚合函数 内置表生成函数 1.1关系运算符 等值比较: 等值比较:<>…...

k8s概念-StatefulSet

StatefulSet 是用来管理有状态应用的控制器 StatefulSet 用来管理某Pod集合的部署和扩缩&#xff0c; 并为这些 Pod 提供持久存储和持久标识符StatefulSet | KubernetesStatefulSet 运行一组 Pod&#xff0c;并为每个 Pod 保留一个稳定的标识。 这可用于管理需要持久化存储或稳…...

HTMLCollection 和 NodeList 的详解,以及两者在开发情况下差异。

看结果直接看下文的举例子 HTMLCollection HTMLCollection 表示一个包含了元素(元素顺序为文档流中的接口)的集合(通用集合)&#xff0c;还提供了从该集合中选择元素的属性和方法。 HTMLCollection 对象中的属性和方法&#xff1a; item(index) —— 返回 HTMLCollection 中指…...

基于FPGA的超声波测距——UART串口输出

文章目录 前言一、超声波模块介绍1、产品特点2、超声波模块的时序图 二、系统设计1、系统模块框图2、RTL视图 三、源码1、div_clk_us(1us的分频)2、产生驱动超声波的信号3、串口发送模块4、HC_SR04_uart(顶层文件) 四、效果五、总结六、参考资料 前言 环境&#xff1a; 1、Quar…...

Python web实战之 Django 的 MVC 设计模式详解

技术栈&#xff1a;Python、Django、HTML、CSS、JavaScript。 概要 在 Web 开发中&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;模式是一种非常常见的设计模式&#xff0c;它可以帮助我们更好地管理代码&#xff0c;提高代码的可维护性。今天就介绍如何使用 …...

Stable Diffusion VAE:改善图像质量的原理、选型与使用指南

VAE Stable Diffusion&#xff08;稳定扩散&#xff09;是一种用于生成模型的算法&#xff0c;结合了变分自编码器&#xff08;Variational Autoencoder&#xff0c;VAE&#xff09;和扩散生成网络&#xff08;Diffusion Generative Network&#xff09;的思想。它通过对变分自…...

maven里面没有plugins dependence问题解决

说明&#xff1a;今天在做Nacos、Dubbo整合的时候&#xff0c;在父模块中做了版本限制&#xff0c;出错后就又把版本控制什么都删掉&#xff0c;回退到最开始的状态&#xff0c;此时父模块下面的服务右侧的 maven里面没有plugins dependence &#xff0c;然后项目全都报错。 问…...

Wi-Fi 6技术详解

1. 介绍 Wi-Fi 6&#xff0c;也称为802.11ax&#xff0c;是Wi-Fi技术的最新标准。它是对之前标准Wi-Fi 5&#xff08;802.11ac&#xff09;的升级和改进&#xff0c;旨在提供更高的速度、更大的容量、更好的性能和更高的可靠性。Wi-Fi 6技术的引入为无线网络带来了革命性的变化…...

【LeetCode】446. 等差数列划分II -- 子序列

题目链接 文章目录 1. 思路讲解1.1 dp表的创建1.2 状态转移方程1.3 使用哈希表找到k1.4 初始化1.5 返回值1.6 该题坑爹的一点 2. 代码编写 1. 思路讲解 我们要知道以某个位置为结尾的子序列的数量&#xff0c;可以通过它的以上一位置的为结尾的子序列的数量得知&#xff0c;也…...

几个似非而是的注释问题

C 语言的注释可以出现在 C 语言代码的任何地方。这句话对不对&#xff1f;这是我当学生时我 老师问的一个问题。我当时回答是不对。好&#xff0c;那我们就看看下面的例子&#xff1a; A &#xff09;&#xff0c; int/*...*/i; B &#xff09;&#xff0c; char* s"…...

【设计模式|上】创建型模式

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 设计模式&#xff08;上&#xff09;&#xff1a; 简单工厂模式工厂模式抽象工厂模式建造者模式单例模式 1. 正文 1.1 创建型(Creational Patterns) …...

【JS】类 class

【JS】类 class 定义类类的方法类继承静态方法 类&#xff08;class&#xff09;是用于创建对象的模板。 我们使用 class 关键字来创建一个类&#xff0c;类体在一对大括号 {} 中&#xff0c;我们可以在大括号 {} 中定义类成员的位置&#xff0c;如方法或构造函数。 每个类中…...

Ubuntu安装harbor(http模式)并随便上传一个

Ubuntu安装harbor&#xff08;http模式&#xff09; docker和harbor的介绍就免了&#xff0c;都不知道啥东西&#xff0c;还安装搞毛 先安装docker环境 不要问&#xff0c;软件源之类的配置&#xff0c;挨个梭就行 sudo apt update sudo apt install apt-transport-https ca…...

《向量数据库指南》——腾讯云向量数据库Tencent Cloud Vector DB正式上线公测!提供10亿级向量检索能力

8月1日,腾讯云向量数据库(Tencent Cloud Vector DB)已正式上线公测。在腾讯云官网上搜索“向量数据库”,就可以正式体验该产品。 腾讯云向量数据库不仅能为大模型提供外部知识库,提高大模型回答的准确性,还可广泛应用于推荐系统、文本图像检索、自然语言处理等 AI 领域。…...

1分钟解决github push/pull报错443

1.打开https://www.ipaddress.com/ 2.复制如图IP地址 3.文件夹打开C:\Windows\System32\drivers\etc&#xff0c;复制hosts文件&#xff0c;粘贴到桌面 4.在桌面用记事本打开复制过来的hosts 5.在末尾加上一行&#xff0c;IP写刚才复制的 6.复制桌面的hosts,粘贴回C:\Window…...

vue3学习-ref引用

模板引用 使用特殊的 refattribute 允许再特定的Dom或组件被挂在后&#xff0c;获取他的直接引用。 import { ref } form vue const input ref(null) <input ref"input"/>注意&#xff1a;只可以在组件挂载后才能访问模板引用 #如果你需要侦听一个模板引用 r…...

Docker 容器转为镜像

# 容器转成镜像并指定镜像名称与版本号 # commit 时原有容器挂载的目录是不会被写入到新的镜像中去的&#xff0c;数据卷相关的都不会生效 # 但是 root 目录下新建的内容会写入到新的镜像中去 $ docker commit 容器ID 新镜像名称:版本号 $ docker commit -m"描述信息"…...

阿里云服务器免费试用及搭建WordPress网站

文章目录 前言一、免费试用1、选择使用产品2、进行产品配置3、远程连接阿里云服务器①、重置实例密码②、SecureCRT 远程链接③、Workbench 远程链接二、搭建 WordPress 网站1、开放搭建 WordPress 需要的端口2、搭建 LAMP 环境①、Linux 系统升级和更新源②、安装 Apache2③、…...

整流二极管型号汇总,超齐全

整流二极管是什么二极管&#xff1f;查看资料可知&#xff0c;整流二极管是一种将交流电能转变为直流电能的半导体器件&#xff0c;可见整流二极管的作用重在“整流”。整流二极管主要用于各种低频半波整流电路&#xff0c;如需达到全波整流需连成整流桥使用。近日&#xff0c;…...

MongoDB 操作命令

创建database 有就切换没有创建 useMydatabase 显示数据库&#xff1a;show dbs显示该database下的 bson对象 show collections 显示该bson下的具体内容**mydatabase.mycollection.find()**查询该bson对象内容**且查询****mydatabase.mycollection.find({a:,b:})****或查询****…...

markdown高级写作技巧汇总

文章目录 1 代码diff2 待办事项3 图片设置宽高4 折叠5 锚点链接实现方式① Markdown 原始写法 [名称](#id)② HTML 语法 名称 6 目录树7 换行 1 代码diff 如果你做过代码 Code Review&#xff0c;对下面这种效果肯定很熟悉 // 数组去重 const unique (arr)>{ - return A…...

SpringBoot自动配置原理入门级理解

简单理解 spring中&#xff0c;我们配置一个bean有两种方式&#xff0c;一种是xml标签的形式&#xff0c;一种是通过java类的形式。那么自动装配就是通过java类的形式来配置bean。 不同的是&#xff0c;springboot将这些我们需要的bean提前配置好了以java类的形式存放在META-I…...

2023 08.02 小记与展望

碎碎念系列更新 算是坚持的第一个月&#xff08;每个月更新一次&#xff0c;上次是6.29&#xff09; 主要对上月工作进行总结&#xff0c;并对后续学习内容进行规划。 一、关于工作 7月工作主要涉及以下方面&#xff1a; 1、公司自研APP维护&#xff08;主要是接口更新和修改…...

MaxPatrol SIEM 增加了一套检测供应链攻击的专业技术

我们为 MaxPatrol SIEM 信息安全事件监控系统增加了一套新的专业技术。 该产品可帮助企业防范与供应链攻击相关的威胁。 此类攻击正成为攻击者的首要目标&#xff1a;它们以软件开发商和供应商为目标&#xff0c;网络犯罪分子通过他们的产品进入最终目标的基础设施。 因此&a…...

蓝桥杯上岸每日N题 第六期(求阶乘)!!!

蓝桥杯上岸每日N题第六期 ❗️ ❗️ ❗️ 同步收录 &#x1f447; 蓝桥杯上岸必背&#xff01;&#xff01;&#xff01;(持续更新中~) 大家好 我是寸铁&#x1f4aa; 冲刺蓝桥杯省一模板大全来啦 &#x1f525; 蓝桥杯4月8号就要开始了 &#x1f64f; 距离蓝桥杯省赛倒数…...

Codeforces Round 889 (Div. 2)(视频讲解A——D)

文章目录 A Dalton the TeacherB Longest Divisors IntervalC2 Dual (hard Version)D Earn or Unlock Codeforces Round 889 (Div. 2)&#xff08;视频讲解A——D&#xff09; A Dalton the Teacher #include<bits/stdc.h> #define endl \n #define INF 0x3f3f3f3f us…...

K8s安全配置:CIS基准与kube-bench工具

01、概述 K8s集群往往会因为配置不当导致存在入侵风险&#xff0c;如K8S组件的未授权访问、容器逃逸和横向攻击等。为了保护K8s集群的安全&#xff0c;我们必须仔细检查安全配置。 CIS Kubernetes基准提供了集群安全配置的最佳实践&#xff0c;主要聚焦在两个方面&#xff1a;主…...

linux安装python和部署Django项目

文章目录 1 python安装2 Django项目部署 1 python安装 官网地址&#xff1a;https://www.python.org/ 本次下载的python安装包地址&#xff1a;https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz 解压下载的python压缩包 [rootlocalhost software]# tar -zxvf P…...

00-Hadoop入门

Hadoop入门 Hadoop四高 1&#xff09;高可靠性 Hadoop底层维护多个数据副本&#xff0c;所有即使hadoop某个计算元素或存储故障&#xff0c;也不会造成数据丢失 2&#xff09;高扩展性 在集群间分配任务数据&#xff0c;可方便的扩展数以千计的节点 3&#xff09;高效性 …...

SE-Net注意力机制详解

📌本次任务:了解SE-Net原理 SE-Net 是 ImageNet 2017(ImageNet 收官赛)的冠军模型,是由WMW团队发布。具有复杂度低,参数少和计算量小的优点。且SENet 思路很简单,很容易扩展到已有网络结构如 Inception 和 ResNet 中。(这篇论文是2019年的,应该是后续做了更新) 一…...