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

相关推荐
德彪稳坐倒骑驴9 小时前
Sqoop入门常用命令
数据库·hadoop·sqoop
俊哥大数据10 小时前
【项目6】基于Hadoop+Hive+Springboot+vue新闻资讯大数据仓库项目
数据仓库·hive·hadoop
俊哥大数据10 小时前
【实战项目4】Hadoop金融信贷大数据离线分析项目
大数据·hadoop·金融
梦想画家1 天前
从选型到落地:Trino赋能智能制造数据驱动实践
数据仓库·trino·分布式查询·联邦查询
奕成则成1 天前
Flink全面入门指南:从基础认知到BI数据仓库实践
大数据·数据仓库·flink
鹿衔`2 天前
Hadoop HDFS 核心机制与设计理念浅析文档
大数据·hadoop·hdfs
`林中水滴`2 天前
数仓系列:一文读懂仓湖一体架构
数据仓库
Justice Young2 天前
Sqoop复习笔记
hadoop·笔记·sqoop
大厂技术总监下海2 天前
从Hadoop MapReduce到Apache Spark:一场由“磁盘”到“内存”的速度与范式革命
大数据·hadoop·spark·开源
zgl_200537792 天前
ZGLanguage 解析SQL数据血缘 之 Python提取SQL表级血缘树信息
大数据·数据库·数据仓库·hive·hadoop·python·sql