当前位置: 首页 > news >正文

6.其他函数

1.时间日期类

-- current_date()            返回当前日期
-- date_add(date, n)         返回从date开始n天之后的日期
-- date_sub(date, n)         返回从date开始n天之前的日期
-- datediff(date1, date2)    返回date1-date2的日期差
-- year(date)                返回日期的年份
-- month(date)               返回日期的月份
-- day(date)                 返回日期的日
-- dayofweek(date)           返回星期几(星期日是第一天)
-- weekofyear(date)          返回今天数据第几周

2. 取整 

函数声名解释
ceil(num)向上取整
floor(num)向下取整
round(num)四舍五入

3.包装函数

函数声名解释
str_to_map(str, field_sep, kv_sep)将str按照field_sep分段,每段以kv_sep分成key value,返回一个map
named_struct(name1, col1, name2, col2,)将col2,col2,....包装为结构体,名字为name1,name2

 举例:

-- str_to_map
select str_to_map('a:b,c:d,e:f', ',', ':');   //属性之间分隔符',',kv分隔符为':'select str_to_map('a:b,c:d,e:f', ',', ':')['a'];  //返回b

                                

select named_struct(      //把一个表格捏成一个struct结构体'name', name,'orderdate', orderdate,'cost', cost
) from business;

                          

4.自定义函数 

1.利用idea编写自定义函数

2.利用maven进行打包

3.将jar包上传到/opt/module/hive/lib

4.让jar包生效

方式一:重启hiveserver2

hive_services.sh restart

方式二: 在客户端热添加jar包

add jar /opt/modu1e/hive/1ib/hivep1ugin220411-1.0-SNAPSHOT.jar; 

5.在hive中创建函数与jar包关联:

-- 将函数命名为mylen
create function my1en as 'com.atguigu.hive.MyUDF';  //MyUDF是主函数的名字

6.如果想要将这个函数删除

drop function mylen;
http://www.lryc.cn/news/66777.html

相关文章:

  • 2023年宜昌市中等职业学校技能大赛 “网络搭建与应用”竞赛题-1
  • Linux权限划分的原则
  • PhotoScan拼接无人机航拍RGB照片
  • 【设计模式】责任链模式的介绍及其应用
  • 一些思考关于行业,关于方向,关于人生路线
  • fbx sdk的使用介绍
  • mvvm模式
  • Spring/SpringBoot常用注解总结
  • 2023 年第八届数维杯大学生数学建模挑战赛 B 题 节能列车运行控制优化策略
  • 【Swift】 NSButton的用法和示例
  • 2023什么蓝牙耳机好?经销商盘点新手必入蓝牙耳机品牌
  • MySQL基础(二十)MySQL的数据目录
  • 低代码行业未来如何?大家都真的看好低代码开发吗?
  • mac m2芯片 安装 brew 和cocoapods
  • SingleR --细胞注释
  • 【结构与算法】—— 游戏概率常用算法整理 | 游戏中的常见概率设计分析
  • WebRTC系列-适配GPUImage及其他视频处理改造
  • day43—选择题
  • <<和>>操作符、取地址重载、const关键字
  • 数学模型,如何计算概率?
  • 【Ehcache技术专题】「入门到精通」带你一起从零基础进行分析和开发Ehcache框架的实战指南(Spring整合ehcache)
  • 合肥市2023年度高校毕业生“双千培养工程”培训项目学员招募公告
  • 重写Properties类,实现对properties文件的有序读写,数据追加,解决中文乱码
  • 态势感知与信质、信量
  • 20230508----重返学习-call()与bind()重写-JS中数据类型检测汇总-装箱与拆箱-类的多种继承方案
  • Node.js对ES6 及更高版本的支持
  • 【华为OD机试2023】工作安排 100% C++ Java Python
  • 面试题Spring - 关于Spring的25个经典问题和答案
  • C++学习day--10 条件判断、分支
  • 和月薪5W的聊过后,才发现自己一直在打杂···