欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Hive:struct数据类型,内置函数(日期,字符串,类型转换,数学)

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

2025/2/1 20:21:24 来源:https://blog.csdn.net/weixin_40121264/article/details/145392542  浏览:    关键词: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

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com