hive 日期函数 官网摘录、整理

RDMA性能调优实战:如何用ib_*命令榨干你的Mellanox网卡带宽? 本文深入探讨了如何利用ib_*命令工具集对RDMA网络进行深度性能调优,以充分释放Mellanox网卡的带宽潜力。文章从理解Send/Write/Read三种核心通信原语的差异入手,逐步指导读者通过调整消息大小、队列深度、内联数据等关键参数,并结合系统级的NUMA绑定、中断亲和性等优化策略,实现从基准测试到逼近硬件极限的性能提升。 阅读详情

日期功能

Hive支持以下内置日期功能:

返回类型

姓名(签名)

描述

string

from_unixtime(bigint unixtime[, string format])

将unix纪元(1970-01-01 00:00:00 UTC)的秒数转换为一个字符串,该字符串表示当前系统时区中该时刻的时间戳,格式为“ 1970-01-01 00:00: 00”。

bigint

unix_timestamp()

以秒为单位获取当前的Unix时间戳。此函数不是确定性的,其值在查询执行范围内也不是固定的,因此会阻止对查询的适当优化-自2.0版以来已弃用此函数,而推荐使用CURRENT_TIMESTAMP常量。

bigint

unix_timestamp(string date)

yyyy-MM-dd HH:mm:ss使用默认时区和默认语言环境将时间字符串格式转换为Unix时间戳(以秒为单位),如果失败,则返回0:unix_timestamp('2009-03-20 11:30:01')= 1237573801

bigint

unix_timestamp(string date, string pattern)

将具有给定模式的时间字符串(请参阅[ http://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html])转换为Unix时间戳(以秒为单位),如果失败,则返回0:unix_timestamp('2009 -03-20','yyyy-MM-dd')= 1237532400。

pre 2.1.0: string

2.1.0 on: date

to_date(string timestamp)

返回时间戳字符串(Hive 2.1.0之前)的日期部分:to_date(“ 1970-01-01 00:00:00”)=“ 1970-01-01”。从Hive 2.1.0开始,返回日期对象。

在Hive 2.1.0(HIVE-13248)之前,返回类型为String,因为创建方法时不存在Date类型。

int

year(string date)

返回日期或时间戳字符串的年份部分:year(“ 1970-01-01 00:00:00”)= 1970,year(“ 1970-01-01”)= 1970。

int

quarter(date/timestamp/string)返回日期,时间戳或范围在1到4之间的字符串的一年的四分之一(从Hive 1.3.0开始)。示例:quarter('2015-04-08')= 2。 

int

month(string date)

返回日期或时间戳字符串的月份部分:month(“ 1970-11-01 00:00:00”)= 11,month(“ 1970-11-01”)= 11。

int

day(string date) dayofmonth(date)

返回日期或时间戳字符串的日期部分:day(“ 1970-11-01 00:00:00”)= 1,day(“ 1970-11-01”)= 1。

int

hour(string date)

返回时间戳的小时:hour('2009-07-30 12:58:59')= 12,hour('12:58:59')= 12。

int

minute(string date)

返回时间戳的分钟。

int

second(string date)

返回时间戳的秒数。

int

weekofyear(string date)

返回时间戳字符串的星期数:weekofyear(“ 1970-11-01 00:00:00”)= 44,weekofyear(“ 1970-11-01”)= 44。

int

extract(field FROM source)

从源中检索字段,例如天或小时(从Hive 2.2.0开始)。源必须是日期,时间戳,时间间隔或可以转换为日期或时间戳的字符串。支持的字段包括:日,星期几,小时,分钟,月,季度,秒,周和年。

例子:

  1. select extract(month from "2016-10-20")   results in 10.

  2. select extract(hour from "2016-10-20 05:06:07") results in 5.

  3. select extract(dayofweek from "2016-10-20 05:06:07") results in 5.

  4. select extract(month from interval '1-3' year to month) results in 3.

  5. select extract(minute from interval '3 12:20:30' day to second) results in 20.

int

datediff(string enddate, string startdate)

返回从开始日期到结束日期的天数:datediff('2009-03-01','2009-02-27')= 2。

pre 2.1.0: string

2.1.0 on: date

date_add(date/timestamp/string startdate, tinyint/smallint/int days)

添加开始日期的天数:date_add('2008-12-31',1)='2009-01-01'。

在Hive 2.1.0(HIVE-13248)之前,返回类型为String,因为创建方法时不存在Date类型。

pre 2.1.0: string

2.1.0 on: date

date_sub(date/timestamp/string startdate, tinyint/smallint/int days)

减去开始日期的天数:date_sub('2008-12-31',1)='2008-12-30'。

在Hive 2.1.0(HIVE-13248)之前,返回类型为String,因为创建方法时不存在Date类型。

timestamp

from_utc_timestamp({any primitive type} ts, string timezone)

将UTC中的timestamp *转换为给定的时区(从Hive 0.8.0开始)。

* 时间戳是一种原始类型,包括时间戳/日期,tinyint / smallint / int / bigint,float / double和十进制。 

小数部分被视为秒。整数值以毫秒为单位。例如,from_utc_timestamp (2592000.0,'PST'),from_utc_timestamp (2592000000,'PST')和from_utc_timestamp (timestamp'1970-01-30 16:00:00','PST')都返回时间戳1970-01-30 08:00:00。

timestamp

to_utc_timestamp({any primitive type} ts, string timezone)

将给定时区中的时间戳*转换为UTC(从Hive 0.8.0开始)。

* 时间戳是一种原始类型,包括时间戳/日期,tinyint / smallint / int / bigint,float / double和十进制。 

小数部分被视为秒。整数值以毫秒为单位。例如,to_utc_timestamp(2592000.0,'PST'),to_utc_timestamp(2592000000,'PST')和to_utc_timestamp(timestamp'1970-01-30 16:00:00','PST')都返回时间戳1970-01-31 00:00:00。

datecurrent_date

返回查询评估开始时的当前日期(从Hive 1.2.0开始)。同一查询中对current_date的所有调用均返回相同的值。

timestampcurrent_timestamp

返回查询评估开始时的当前时间戳(从Hive 1.2.0开始)。同一查询中对current_timestamp的所有调用均返回相同的值。

stringadd_months(string start_date, int num_months, output_date_format)

返回起始日期之后num_months的日期(从Hive 1.1.0开始)。start_date是字符串,日期或时间戳。num_months是一个整数。如果start_date是该月的最后一天,或者如果结果月份的天数少于start_date的天部分,则结果是结果月份的最后一天。否则,结果与start_date具有相同的日组成部分。默认输出格式为“ yyyy-MM-dd”。

在Hive 4.0.0之前,日期的时间部分将被忽略。

从Hive 4.0.0开始,add_months支持可选参数output_date_format,该参数接受一个String,该String表示输出的有效日期格式。这样可以在输出中保留时间格式。

例如 :

add_months('2009-08-31',1)返回'2009-09-30'。
add_months('2017-12-31 14:15:16',2,'YYYY-MM-dd HH:mm:ss')返回'2018-02-28 14:15:16'。

stringlast_day(string date)返回日期所属月份的最后一天(从Hive 1.1.0开始)。date是格式为“ yyyy-MM-dd HH:mm:ss”或“ yyyy-MM-dd”的字符串。日期的时间部分将被忽略。
stringnext_day(string start_date, string day_of_week)

返回第一个日期,该日期晚于start_date,并命名为day_of_week (从Hive 1.2.0开始)。start_date是字符串/日期/时间戳。day_of_week是2个字母,3个字母或一周中某天的全名(例如Mo,tue,FRIDAY)。start_date的时间部分将被忽略。

(我注:返回开始日期之后的第一个指定日期,例如第一个星期一、星期二等星期描述的日子)

例如:next_day('2015-01-14','TU')= 2015-01-20。

stringtrunc(string date, string format)

返回截断为格式指定单位的日期(从Hive 1.2.0开始)。支持的格式:MONTH / MON / MM,YEAR / YYYY / YY。

示例:trunc('2015-03-17','MM')= 2015-03-01。

doublemonths_between(date1, date2)返回日期date1和date2之间的月份数(从Hive 1.2.0开始)。如果date1晚于date2,则结果为正。如果date1早于date2,则结果为负。如果date1和date2是月份的同一天或月份的最后几天,则结果始终是整数。否则,UDF将基于31天的月份来计算结果的分数部分,并考虑时间分量date1和date2的差异。date1和date2类型可以是日期,时间戳或字符串,格式为“ yyyy-MM-dd”或“ yyyy-MM-dd HH:mm:ss”。结果四舍五入到小数点后8位。例如:months_between('1997-02-28 10:30:00','1996-10-30')= 3.94959677 
stringdate_format(date/timestamp/string ts, string fmt)

将日期/时间戳记/字符串转换为日期格式fmt指定的格式的字符串值(从Hive 1.2.0开始)。支持的格式是Java SimpleDateFormat格式– https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html 。第二个参数fmt应该是常量。示例:date_format('2015-04-08','y')='2015'。 

date_format可用于实现其他UDF,例如:

  • dayname(date)是date_format(date,'EEEE')
  • dayofyear(date)是date_format(date,'D')

  
   
WRFDA如何读取风云四号A 星的GIIRS数据? 🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。 阅读详情

相关推荐

【GNSS数据处理】赫尔默特(helmert)方差分量估计解析及代码实现

一、背景 helmert方差分量估计是方差-协方差分量估计的一个特例,在近现代测量平差中,我们处理的数据有明显的变化,数据序列中包括粗差,数据类型不再单一等问题。当我们遇到数据类型两类及以上时,可以考虑使用赫尔默特方差分量估计,应用的前提条件是不同类别的数据需要相互独立,这样我们的权阵就是对角阵。 二、引入 我们先用王者荣耀这款游戏引入一下,王者可是撩妹利器,哈哈,就像你有两部手机(安卓和苹果),带妹的时候大概率会用苹果,因为游戏体验方面苹果要优于安卓,带妹的时候不掉帧,不卡顿,不闪退,要操作有操作,有皮肤

ANKP的博客 1万+

Hive时间函数

本月第一天 select date_sub(current_date,dayofmonth(current_date)-1) 2019-04-01 本月第2天 select date_sub(current_date,dayofmonth(current_date)-2) 2019-04-02 上月最后一天 select date_sub(current_date,dayofmonth...

weixin_43852674的博客 4800

Ubuntu20.04安装Torque-6.1.2单机版(踩坑篇)

说明:PBS排队系统原先是在Centos7安装使用很顺利,但是有客户需求在Ubuntu20.04上使用,着手在Ubuntu20.04安装上安装的时候发现很多报错,并不能顺利安装,网上查找到的教程,有的说是让放弃转slurm,有的是换源安装,但是安装好的版本很低,有许多bug,不是很好用。经过自己慢慢摸索之后,改了部分配置以及源码之后,能够顺利安装,再次记录一下踩坑心得,与大家一起分享学习。如有问题,欢迎大家来撩。...............

华青水上的博客 8088

hive中时间类date函数

1. 日期格式化函数 :date_format(string date,输出格式) 返回值: string 说明: 对给定的字符串日期进行格式化。 举例: hive> select date_format(current_date,'yyyy-MM-dd HH:mm:ss'); 返回结果 2021-03-14 00:00:00 hive> select date_format('2019-06-29','yyyy-MM'); 返回结果 2019-06 hive> sel...

帅成一匹马 9257

二、PCIE的TLP包的封包解包原理

熟悉 PCIE 的组建包的过程,以及内部的字段细节的定 义,掌握如何发送接收 Mrd(memory read TLP)、 Mwr(Memory write TLP)、Cpl (Completion TLP)和 Cpld(Completion with data TLP)命令包,深入理解 PCIE 底层协议工作过程

k7126685的博客 3933

故障诊断知识库建设指南

从数据融合到知识图谱构建,从智能推理引擎开发到动态进化机制落地,故障诊断知识库的建设路径已形成 “数据 - 知识 - 智能” 的闭环体系。随着大模型技术的深度融入,知识库将实现从 “规则驱动” 到 “认知推理” 的跨越 —— 通过自然语言理解解析复杂故障描述、多模态分析融合图像与信号数据、预测性算法推演故障发展趋势,持续提升诊断的精准度与前瞻性。

极昆仑智慧 1232

hive日期时间常用函数

current_date 返回当前日期 select current_date -- 今天 select date_add(current_date,1) -- 明天 select date_add(current_date,-1) -- 昨天 date_add和date_sub date_add,增加日期 ,负数减少日期 select date_add('2020-01-01',1) -- 返回2020-01-02 select date_add('2020-01-01',-1) -- 返回201

jianai858的博客 644

Claude Code 100个真实案例 - 用AI搭建GIS地理信息系统(地图标注+热力图)

本案例展示如何使用 Claude Code 从零搭建一个完整的 GIS 地理信息系统。我们将使用 Python + Flask 作为后端,Leaflet.js 作为前端地图引擎,实现地图标注、热力图展示、区域绘制、坐标搜索等功能。全程通过与 Claude Code 对话完成,让你感受 AI 在地理信息领域的强大开发能力。

yueyeguzhuo的专栏 113

hive小文件解决

一 产生原因 1.1 数据增量多批次插入,每批次会产生 partitions*reducetasks 个小文件 1.2 hive或spark 数据分析 reduce task个数过多。 二 解决方法 2.1 hadoop archive hive> set hive.archive.enabled=true; hive> set hive.archive.har.parentdir.settable=true; hive> set har.partfile.size=1099.

kevin 439

DEA模型及matlab应用3:SBM-DEA 模型

好的产出通常是通过资本、基础设施、劳动力的投入而获得的期望产出,非期望产出的产生,比如碳排放、二氧化硫、粉尘和污水等。 由于经典的 DEA 模型对相对效率的评价要求尽可能的减少投入,增加产出。而我们考虑非期望产出的影响则要尽可能的减少非期望产出才能获得更好的经济效益,与传统 DEA 模型的要求不符。考虑非期望产出的DEA模型是:基于松弛变量的 DEA 模型 SBM(Slacks-based mod...

wjyxld的博客 2万+

Python爬虫技术:使用Playwright和Twitter API v2高效获取Twitter/X数据完全教程

遵守规则:始终遵循Twitter的使用条款和速率限制错误处理:实现完善的错误处理和重试机制数据质量:进行数据清洗和验证性能优化:使用异步处理和合理的延迟设置可维护性:模块化代码,便于维护和扩展。

2201_76125261的博客 671

hive中的date函数

1,current_date 2,current_timestamp 3,from_unixtime(unix_timestamp()) 注:unix_timestamp()返回当前时间戳

好好学习,天天向上的博客 1万+

Python爬虫实战:携程旅游平台数据爬取(酒店+机票+景点),破解加密与反爬(附完整代码)

携程的反爬机制再复杂,核心逻辑都是“识别非真实用户的请求”,而爬虫的核心就是“让请求看起来像真实用户的行为”。本文的方案从登录态处理、参数加密破解、动态数据抓取,到反爬应对,都是围绕“模拟真实”展开:用Playwright模拟真实浏览器登录,用住宅代理模拟真实用户IP,用随机延迟模拟真实用户的操作频率。掌握了这个核心思路,无论平台的反爬如何升级,都能找到应对方法。当然,爬虫技术是一把双刃剑,合理使用才能发挥其价值。如果你的爬虫项目中遇到了携程的反爬问题,不妨按照本文的步骤试试,大概率能解决问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2607

sqoop导入脚本

shell脚本示例: #!/bin/sh source ExitCodeCheck.sh opts=$@ getparam(){ arg=$1 echo $opts |xargs -n1 |cut -b 2- |awk -F'=' '{if($1=="'"$arg"'") print $2}' } IncStart=`getparam inc_start` IncEnd=`getp...

Small-Apple的博客 1196

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Hive常用内置函数、窗口函数及自定义函数

Hive常用内置函数、窗口函数以及自定义函数

太白_猿的博客 1308

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

hive的时间函数

hive常用语法之日期函数日期函数1.Unix时间戳转日期函数 from_unixtime2.获取当前unix时间戳函数unix_timestamp3.日期的转换 unix_timestamp4.指定格式日期转换unix时间戳函数unix_timestamp5.日期时间转换函数6.日期转年函数 : year7.日期转月函数: month8.日期转他函数 day9.日期转小时函数 hour10.日期...

MyNameIsWangYi的博客 453

hive中常用字符串转时间的处理方法

数据 2018-11-01 07:57:33 1、使用hive内置的时间日期函数完成数据ETL。 select to_date(time_local) as daystr, date_format(time_local,'HH:mm:ss'), month (time_local)as month, day (time_local)as day, hour (time_local)as hour from ods_weblog_origin limit

qq_36382679的博客 3258

【大数据】Hive中的模式设计

Hive 看上去以及实际行为都像一个关系型数据库,并且 Hive 提供的查询语言也确实和之前使用过的 SQL 语言非常地相似。不过,Hive 实现和使用的方式和传统的关系型数据库是非常不同的。通常用户视图移植关系型数据库中的模式,而事实上 Hive 是反模式的。...

Data · Model · Agent · Repeat 736

大数据学习:Hive常用函数

开发hql脚本,并使用hiveconf和hivevar进行参数传入node03执行以下命令定义hql脚本use myhive;Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)根据用户自定义函数类别分为以下三种:UDF(User-Defined-Function) 一进一出。

热情、奔放、快乐编程! 742

Hive—内置date函数用法详解

引言   在hive中我们经常需要处理日期数据,hive内置了3个日期函数,其格式只能为yyyy-MM-dd格式或者yyyy-MM-dd HH:mm:ss'格式 常用date函数 日期比较函数:datediff 语法 datediff(string enddate,string startdate)说明:返回结束日期enddate减去开始日期startdate的天数返回值类型:int 示例 返回天数为正 hive> select datediff('2022-01-02','2022-01-01'

Andya_net的博客 2913

hive 常用查询语句

查询不相同的androidid   select count(distinct androidid) from  table where dt='date ' and  androidid is not null and androidid             and androidid 'NULL' AND androidid '_Null'  and  appkey

qiezikuaichuan的专栏 2008

Hive脚本执行时参数的传参

使用-hiveconf传参: 测试脚本: -- test.sql select 'Start Testing ...'; select ${hiveconf:day}, '${hiveconf:url}'; select 'Test End!'; 命令行: hive -hiveconf day=20180716 -hiv...

weixin_44695980的博客 1479

date 命令详解

date -d "-1 day" +%Y%m%d # 显示后一天的日期。$ date -d "-1 year" +%Y%m%d # 显示前一年的日期。$ date -d "-1 month" +%Y%m%d # 显示上一月的日期。$ date -d "+1 month" +%Y%m%d # 显示下一月的日期。$ date -d "+1 year" +%Y%m%d # 显示下一年的日期。字符串前后必须加上双引号;

布袋和尚 1万+

强力收藏!一文说全HiveConf类(Hive3.1.2版本)

本文内容可以收藏作为工具,往后有需要查看HiveConf类、Hive常用配置项时,直接翻阅查找即可。

eeeddieee的博客 1521

Hive命令

基础命令 show databases; # 查看某个数据库 use 数据库; # 进入某个数据库 show tables; # 展示所有表 desc 表名; # 显示表结构 show partitions 表名; # 显示表名的分区 show create table_name; # 显示创建表的结构 # 建表语句 # 内部表 use xxdb; c...

数据之旅的点点滴滴 1454

hive—常用的日期函数

2、now() 或 current_timestamp() 当前时间 3、datediff(endDate, startDate) 计算日期相差天数 4、months_between(endDate, startDate) 日期相差月数 5、date_add(startDate, numDays) 日期加N天 6、date_sub(startDate, numDays) 日期减N天 7、add_months(startDate, numMonths) 日期加N月

风子~的博客 5585

Hive笔记3-HQL操作

HQL操作 参考资料: Hive详细介绍及简单应用 Hive基本操作,DDL操作(创建表,修改表,显示命令),DML操作(Load Insert Select),Hive Join,Hive Shell参数(内置运算符、内置函数)等 Hive入门及常用指令 Hive分区、分桶操作及其比较 函数分类,HIVE CLI命令,简单函数,聚合函数,集合函数,特殊函数(窗口函数,分析函数,混合函数,UDT...

好女绪的博客 968
上一篇: hive建表语句comment 中文描述乱码
下一篇: sqoop export hive to mysql 乱码问题
lcl_bigdata
博客等级 码龄11年 268粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值