大数据Spark Sql中日期转换FROM_UNIXTIME和UNIX_TIMESTAMP的使用

 更新时间:2022年02月28日 14:20:27   作者:神芷迦蓝寺  
本文主要介绍了大数据Spark Sql中日期转换FROM_UNIXTIME和UNIX_TIMESTAMP的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

众所周知,数字整型用来大小比较和计算运算要比字符型快的多,因此部分业务需要把时间字段转化为整型方便业务的快速计算和到达,这个整形数字是选定的日期距UTC 时间 '1970-01-01 00:00:00' 开始的秒数,目前为十位,比如常用来举例的1234567890,但毕竟数字不方便观察,后续还需要把这些时间数字转换为真正的时间字段

这里就需要两个函数来进行转换UNIX_TIMESTAMP和FROM_UNIXTIME

咱们一一介绍

UNIX_TIMESTAMP

是把时间字段转化为整型,需要注意的是有些数据库需要指明时间字段类型
比如MySQL里是可以直接UNIX_TIMESTAMP('20200223'),而某些大数据平台需要UNIX_TIMESTAMP('20200223','yyyyMMdd')

FROM_UNIXTIME

顾名思义就是从整型里把时间整型进行破解成想要的时间格式,使用时可指定格式

这里面经常用到的是UNIX_TIMESTAMP和FROM_UNIXTIME的结合,比如对一个时间字段进行归集计算:把'2020-02-23 01:00:02','2020-02-23 01:02:31','2020-02-23 01:03:22'都归集成'2020-02-23 01:00:00'

select FROM_UNIXTIME(unix_timestamp('20200223')+5*60*floor((substr('2020-02-23 
 00:01:02',12,2)*60+substr('2020-02-23 00:01:02',15,2))/5)) time1

补充下格式转换:

%a	缩写星期名
%b	缩写月名
%c	月,数值
%D	带有英文前缀的月中的天
%d	月的天,数值(00-31)
%e	月的天,数值(0-31)
%f	微秒
%H	小时 (00-23)
%h	小时 (01-12)
%I	小时 (01-12)
%i	分钟,数值(00-59)
%j	年的天 (001-366)
%k	小时 (0-23)
%l	小时 (1-12)
%M	月名
%m	月,数值(00-12)
%p	AM 或 PM
%r	时间,12-小时(hh:mm:ss AM 或 PM)
%S	秒(00-59)
%s	秒(00-59)
%T	时间, 24-小时 (hh:mm:ss)
%U	周 (00-53) 星期日是一周的第一天
%u	周 (00-53) 星期一是一周的第一天
%V	周 (01-53) 星期日是一周的第一天,与 %X 使用
%v	周 (01-53) 星期一是一周的第一天,与 %x 使用
%W	星期名
%w	周的天 (0=星期日, 6=星期六)
%X	年,其中的星期日是周的第一天,4 位,与 %V 使用
%x	年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y	年,4 位
%y	年,2 位

到此这篇关于大数据Spark Sql中日期转换FROM_UNIXTIME和UNIX_TIMESTAMP的使用的文章就介绍到这了,更多相关Spark Sql 日期转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Hadoop2.X/YARN环境搭建--CentOS7.0系统配置

    Hadoop2.X/YARN环境搭建--CentOS7.0系统配置

    Hadoop原本来自于谷歌一款名为MapReduce的编程模型包。谷歌的MapReduce框架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集。使用该框架的一个典型例子就是在网络数据上运行的搜索算法。
    2014-08-08
  • 三表左连接查询的sql语句写法

    三表左连接查询的sql语句写法

    left join三表左连接sql查询语句
    2008-09-09
  • SQL注入篇学习之盲注/宽字节注入

    SQL注入篇学习之盲注/宽字节注入

    盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入,下面这篇文章主要给大家介绍了关于SQL注入篇之盲注/宽字节注入的相关资料,需要的朋友可以参考下
    2022-03-03
  • mysql与MongoDB性能对比,哪个更适合自己

    mysql与MongoDB性能对比,哪个更适合自己

    经常看到有人讨论,mongodb性能不如MySQL,MySQL能不能代替之类的说法 ,其实作为技术人,很不喜欢哪个比哪个好这种说法,基本就是挑事,我们今天一起
    2023-06-06
  • openGauss数据库在CentOS上的安装实践记录

    openGauss数据库在CentOS上的安装实践记录

    这篇文章主要介绍了openGauss数据库在CentOS上的安装实践,本文是基于华为云ECS+CentOS 7的openGauss数据库安装实践,需要的朋友可以参考下
    2022-07-07
  • ubuntu中使用docker下载华为opengauss数据库超简单步骤

    ubuntu中使用docker下载华为opengauss数据库超简单步骤

    openGauss是关系型数据库,采用客户端/服务器,单进程多线程架构,支持单机和一主多备部署方式,备机可读,支持双机高可用和读扩展,这篇文章主要给大家介绍了关于ubuntu中使用docker下载华为opengauss数据库超的简单步骤,需要的朋友可以参考下
    2024-04-04
  • hive中的几种join到底有什么区别

    hive中的几种join到底有什么区别

    hive处理表关联时由于数据量以及数据倾斜等问题会导致计算性能差甚至任务失败,下面这篇文章主要给大家介绍了关于hive中几种join到底有什么区别的相关资料,需要的朋友可以参考下
    2022-03-03
  • sql Union和Union All的使用方法

    sql Union和Union All的使用方法

    UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。
    2009-07-07
  • 关于DBeaver安装与使用图文教程分享

    关于DBeaver安装与使用图文教程分享

    DBeaver是一个通用的数据库管理工具和SQL客户端,支持多种数据库,本文介绍了DBeaver的下载和安装过程,并以连接MySQL数据库为例,展示了如何填写数据库信息和使用常用基本功能
    2024-11-11
  • 关于navicat事务自动提交问题

    关于navicat事务自动提交问题

    这篇文章主要介绍了关于navicat事务自动提交问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12

最新评论