Hive:struct数据类型,内置函数(日期,字符串,类型转换,数学)

struct

STRUCT(结构体)是一种复合数据类型,它允许你将多个字段组合成一个单一的值, 常用于处理嵌套数据,例如当你需要在一个表中存储有关另一个实体的信息时。你可以使用 STRUCT 函数来创建一个结构体。STRUCT 函数接受多个参数,每个参数都是结构体的一个字段。字段可以是任何数据类型,包括其他结构体。

示例

数据准备

查询

struct结构体不能使用explode展开数据

Hive内置函数

函数查看

示例

日期函数

补充: 查看当前用户,

使用场景: 封装代码的日志,记录运行代码的用户

在 Unix 和类 Unix 系统中,时间是从 1970 年 1 月 1 日 00:00:00 UTC 开始计算的,这个时间点被称为 Unix 纪元(Epoch)。unix_timestamp() 函数返回的是从 Unix 纪元到指定日期和时间的秒数。

示例1

示例2

查询结果显示为 -28800,这实际上是一个时间偏移量,表示 UTC 时间与某个特定时区(如 UTC+8)之间的差异。具体来说,-28800 秒相当于 -8 小时,这意味着查询结果考虑了时区差异。

使用pattern的场景, 时间格式默认是年月日时分秒, 有些数据的格式不是标准时间格式,直接写系统无法识别,返回NULL

示例1

示例2

注:和oracle一样,格式不区分大小写

不指定格式时,默认返回的是年月日 时分秒

示例1

示例2

Hive 不支持日期之间的加减,需要借助函数

日期和时间可以直接以字符串的形式使用,Hive 会自动将这些字符串解析为日期或时间类型。(隐式转换)

注: 日期的格式是'2020-01-17', 不能是其他格式

示例1

示例2

day()和dayofmonth()返回值是相同的, day()相当于截取日期里面的日,dayofmonth()返回的是当月的第几天

示例1

示例2

示例3

示例

类似于oracle的to_char函数

示例1

示例2

w今年的第几周, iw不支持

字符串函数

示例

类型转换函数

数学函数

其他函数

isnull() 函数用于检查其参数是否为 NULL。如果参数是 NULL,则返回 true;否则返回 false

isnotnull()与之相反

只支持两个条件的比较

示例1

示例2

参数是一个字符串 'null',而不是 NULL

示例3

相关推荐
梦想画家7 分钟前
数据仓库中的代理键:概念、应用与实践指南
数据仓库·代理键·缓慢维度变化
王小王-12313 小时前
基于Hadoop的用户购物行为可视化分析系统设计与实现
大数据·hadoop·分布式·用户购物行为·电商日志分析
爱吃面的猫1 天前
大数据Hadoop之——Flink1.17.0安装与使用(非常详细)
大数据·hadoop·分布式
zhuiQiuMX1 天前
脉脉maimai面试死亡日记
数据仓库·sql·面试
Edingbrugh.南空2 天前
Hadoop MapReduce 入门
大数据·hadoop·mapreduce
大数据CLUB3 天前
基于spark的奥运会奖牌变化数据分析
大数据·hadoop·数据分析·spark
Edingbrugh.南空3 天前
Hadoop高可用集群搭建
大数据·hadoop·分布式
无级程序员3 天前
hive2服务启动报错:/tmp/hive on HDFS should be writable(不是chmod 777能解决的)
hive·hadoop·hdfs
rui锐rui4 天前
大数据学习2:HIve
大数据·hive·学习
凌辰揽月4 天前
Servlet学习
hive·学习·servlet