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

embedded/2025/1/31 11:16:59/

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

 


http://www.ppmy.cn/embedded/158339.html

相关文章

TCP三次握手和四次挥手

TCP 三次握手和四次挥手 TCP(传输控制协议)是一种面向连接的协议,在建立连接和断开连接时分别需要通过 三次握手 和 四次挥手 来确保通信的可靠性和完整性。 1. 三次握手 三次握手是 TCP 建立连接的过程,确保客户端和服务器双方…

智慧园区管理系统为企业提供高效运作与风险控制的智能化解决方案

内容概要 快鲸智慧园区管理系统,作为一款备受欢迎的智能化管理解决方案,致力于为企业提供高效的运作效率与风险控制优化。具体来说,这套系统非常适用于工业园、产业园、物流园、写字楼及公寓等多种园区和商办场所。它通过数字化与智能化的手…

【Elasticsearch 】自定义分词器

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

工作总结:压测篇

前言 压测是测试需要会的一项技能,作为开发,有点时候也要会一点压测。也是被逼着现学现卖的。 一、压测是什么,以及压测工具的选择 压测,即压力测试,是一种性能测试手段,通过模拟大量用户同时访问系统&am…

Apple M1 ARM MacBook 安装 Apache TVM

一、前置准备 Apple Silicon MacBook 本文以 Apple M1/M2 为例,M3 及后续版本同理。 已安装 Homebrew macOS 上的包管理器,可前往 Homebrew 官网 查看安装指引。 已安装 Anaconda 或 Miniforge 确保 Conda 是 ARM 版本(通过 conda info | g…

《网络安全中的“泛洪”攻击:揭秘、防范与应对策略》

各类泛洪攻击总结 IPV4泛洪 一、什么是泛洪? 泛洪的基本原理就是基于协议通信,完成大流量高并发操作,导致目标主机各类资源消耗过多而无法提供正常的服务。基于多线程或多进程(MAC地址泛洪,ARP泛洪欺骗)。 (1) 攻击…

TL494方案开关电源方案

TL494是德州仪器公司生产的一款固定频率脉宽调制(PWM)控制芯片,广泛应用于开关电源等电路中,以下是其相关方案介绍: 基本特性 双端输出:可提供推挽或单端两种输出模式。推挽模式下能驱动两个功率开关管交…

vue框架技术相关概述以及前端框架整合

vue框架技术概述及前端框架整合 1 node.js 介绍:什么是node.js Node.js就是运行在服务端的JavaScript。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎。 作用 1 运行java需要安装JDK,而Node.js是JavaScript的运行环…