添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
会开车的铁板烧  ·  Microsoft Privacy ...·  1 年前    · 
怕考试的仙人球  ·  Using await version ...·  1 年前    · 

from_unixtimefrom_unixtime

hive sql 中时间戳转换函数: 由bigint类型的值转换为指定时间戳格式;   from_unixtime()

from_unixtimefrom_unixtime(bigint unixtime[, string format])

返回值类型:string

功能: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式

hive (temp)> select from_unixtime(1323308943,'yyyyMMdd') from test;
20111208
hive (temp)> select from_unixtime(1323308943,'yyyy-MM-dd') from test;
2011-12-08
hive (temp)>select  from_unixtime(1441565203,'yyyy/MM/dd HH:mm:ss') from test;
2015/09/07 02:46:43

具体的时间格式,可以调整第二个参数来指定。

相关示例:

info对应的字段值为如:48330a9a94d73db188c78ae6bdc58cbe|0|5|0|11|cxvideo_relate|1605655303|1|516||0|OvPMS|0|92201|1605655303076e5630d435593||a|2|0|comos%3Aiznctke14900

要拿到时间戳并转换为小时从经过group by操作的表中抽取出来。

分析: 先split分割值,拿到时间戳1605655303 ,然后转换为bigint后再转换为hour函数需要的时间格式的形式,再利用Hour函数读取其中的小时出来。具体代码形如:

max(hour(from_unixtime(cast(split(info,'\\\|')[6]  as BIGINT),'yyyy-MM-dd HH:mm:ss'))) as hour

注: hive中的split 函数用于分割字符串

日期转小时函数hour与年月日分秒

hour(string date)

返回日期中的小时,int类型的值

hive (temp)> select hour('2016-12-08 10:03:01') from test;

类似的有: 日期转年函数: year(),转月,month(), 转天day() ,转分钟 month()  ,转秒 second() ,转周函数  weekofyear() (此为返回当前日期处于一年中的第多少周)。

date_subdate_sub(string startdate, int days)string返回开始日期startdate减少days天后的日期
date_adddate_add(string startdate, int days)string

返回开始日期startdate增加days天后的日期

datediffdatediff(string enddate, string startdate)int返回结束日期减去开始日期的天数
hive (temp)> select date_sub('2016-12-08',10) from dual;
2016-11-28
#当前日期为2016-08-25,在此基础上减7天
hive (temp)> select date_sub(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),7) from dual;
2016-08-18
hive (temp)> select date_add('2016-12-08',10) from dual;
2016-12-18
#当前日期为2016-08-25,在此基础上加7天
hive (temp)> select date_add(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),7) from dual;
2016-09-01
hive (temp)> select datediff('2016-12-08','2016-12-02') from dual;

指定格式日期转UNIX时间戳函数为:unix_timestamp.

unix_timestamp(string date, string pattern)  ,返回bigint类型的值,转换格式为"yyyyMMdd HH:mm:ss"的日期到UNIX时间戳。转化失败,则返回0

hive (temp)> select unix_timestamp('20160825 13:02:03','yyyyMMdd HH:mm:ss') from dual;
1472101323

日期时间转日期函数  : to_date

to_date(string timestamp)string返回日期时间字段中的日期部分
hive (temp)> select to_date('2016-12-08 10:03:01') from dual;
2016-12-08

参考与鸣谢:https://www.jianshu.com/p/e30395941f9c

from_unixtimefrom_unixtimehive sql 中时间戳转换函数: 由bigint类型的值转换为指定时间戳格式; from_unixtime()from_unixtimefrom_unixtime(bigint unixtime[, string format])返回值类型:string功能: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式示例:hive (temp)> select ...
1、Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的HiveETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对HiveSQL编译为MapReduce的过程有了比较深入的理解。对这一过程的理解不仅帮助我们解决了一些Hive的bug,也有利于我们优化HiveSQL,提升我们对Hive的掌控力,同时有能力去定制一些需要的功能。详细讲解SQL编译为MapReduce之
时间戳成日期 select distinct from_unixtime(1441565203,‘yyyy/MM/dd HH:mm:ss’) from test_date; 日期时间戳 select distinct unix_timestamp(‘20111207 13:01:03’) from test_date; // 默认格式为“yyyy-MM-dd HH:mm:ss“ selec...
from_unixtime(unix_timestamp(comment_timestamp), 'yyyy-MM-dd') as p_date 上面的方法是将timestamp格式先转换成常见的时间戳格式,再将时间戳格式转换成常见的日期 时间戳成日期 hive : select distinct from_unixtime(1441565203,‘yyyy/MM/dd HH:mm:ss’) from test_date; sqlSever: CONVERT ( VARCHAR ( 10 ), DATEADD ... hive> select from_unixtime(unix_timestamp(),'YYYY年MM月dd日 HH时mm分ss秒'); 2021年11月26日 13时08分48秒 时间戳也可以自已传入... 例如:select unix_timestamp() --1565858389 2.unix_timestamp(string timestame) 输入的时间戳格式必须为'yyyy-MM-dd HH:mm:ss',如不符合则返回null sele... Apache许可。 连接可能是可在MapReduce执行的最复杂的操作之一。 通过设计,MapReduce非常适合通过隔离地查看每个记录或组来处理大型数据集,因此将两个非常大的数据集结合在一起并不能很好地适应该范式。 减少侧连接的执行方式: 地图1.Mapper通过读取不同的输入文件来启动联接操作,并将所有记录输出到Reducer。 2.标记每条记录,以识别记录从哪个来源到达。 3. map输出的键必须是join键减速器1.Reducer将使用通用密钥从所有文件获取随机数据。 2.根据标签属性组合两个记录。 问题陈述 : 查找购买总金额以及每个客户的交易次数。 客户表将具有唯一的客户ID以及客户的其他详细信息。 ****************客户桌***************
目录1.Hive 计算两个时间相差的分钟 1.Hive 计算两个时间相差的分钟 select floor((unix_timestamp('2017-05-20 08:35:22','yyyy-MM-dd HH:mm:ss')- unix_timestamp('2017-05-20 08:34:21','yyyy-MM-dd HH:mm:ss'))/60) checktime ; checktime select (unix_timestamp("2017-01-19 00:00:00") -
HiveSQL,可以使用FROM_UNIXTIME函数将时间戳转换成日期格式,例如: SELECT FROM_UNIXTIME(1612345678,'yyyy-MM-dd HH:mm:ss'); 这将返回一个字符串,表示时间戳对应的日期和时间,例如:"2021-02-03 12:34:38"。
git error: RPC failed; result=35, HTTP code = 0 fatal: The remote end hung up unexpectedly hongdounuoyan: 头一回遇到这种事,阿里云的Ecs主机。 lightgbm 安装报错解决 Blanchettee: 试了那么多,就这个管用 报错解决git clone --quiet https://github.com/facebookresearch/detectron2.git /tmp/pip-install-wdn8va linux服务器上无法git clone和下载速度慢问题的解决