hive学习(六)

一、函数

1.单行函数

特点:输入一行,输出一行(一进一出)

可分为日期函数,字符串函数,集合函数,数学函数和流程控制函数等

1)算术运算函数

2)数值函数

--round函数

复制代码
//四舍五入
select  round(3.5);

--ceil

复制代码
//向上取整
select  ceil(3.1);

--floor

复制代码
//向下取整
select  floor(3.1);

3)字符串函数

4)日期函数

5)条件函数

6)集合函数

7)高级聚合函数

8)炸裂函数(UDTF)

UDTF,接收一行数据,输出一行或多行数据

---explode(将一个数组炸裂成多行)

复制代码
select explode(array("老师","程序员","科学家")) as job;

----explode(将map类型集合炸裂成2列)

复制代码
select explode(map("nic","老师","marry","程序员","nim","科学家"))as (name,job);

---posexplode(将array集合的元素及其下标分成两列显示出来)

复制代码
select explode(array("老师","程序员","科学家")) as (pos,job);

---inline函数(

复制代码
select inline(array
(named_struct("id", 1, "name", "zs"),
named_struct("id", 2, "name", "Is"),
named_struct("id", 3, "name", "ww"))
) as (id, name);

扩:Lateral View:通常与UDTF配合使用。Lateral View可以将UDTF应用到源表的每行数据,将每行数据转换为一行或多行,并将源表中每行的输出结果与该行连接起来,形成一个虚拟表。

相关推荐
Love__Tay17 分钟前
【学习笔记】Python金融基础
开发语言·笔记·python·学习·金融
我的golang之路果然有问题1 小时前
云服务器部署Gin+gorm 项目 demo
运维·服务器·后端·学习·golang·gin
Lester_11012 小时前
嵌入式学习笔记 - freeRTOS xTaskResumeAll( )函数解析
笔记·stm32·单片机·学习·freertos
jackson凌2 小时前
【Java学习笔记】Math方法
java·笔记·学习
Humbunklung2 小时前
PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
笔记·python·学习·pyqt
sealaugh323 小时前
aws(学习笔记第四十三课) s3_sns_sqs_lambda_chain
笔记·学习·aws
阿超爱嵌入式3 小时前
STM32学习之I2C(理论篇)
stm32·嵌入式硬件·学习
qq_454175793 小时前
c++学习-this指针
开发语言·c++·学习
恰薯条的屑海鸥4 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
网络·学习·安全·web安全·渗透测试·csrf·网络安全学习
哆啦A梦的口袋呀4 小时前
基于Python学习《Head First设计模式》第六章 命令模式
python·学习·设计模式