大數(shù)據(jù)Spark Sql中日期轉(zhuǎn)換FROM_UNIXTIME和UNIX_TIMESTAMP的使用
眾所周知,數(shù)字整型用來大小比較和計算運算要比字符型快的多,因此部分業(yè)務(wù)需要把時間字段轉(zhuǎn)化為整型方便業(yè)務(wù)的快速計算和到達,這個整形數(shù)字是選定的日期距UTC 時間 '1970-01-01 00:00:00' 開始的秒數(shù),目前為十位,比如常用來舉例的1234567890,但畢竟數(shù)字不方便觀察,后續(xù)還需要把這些時間數(shù)字轉(zhuǎn)換為真正的時間字段
這里就需要兩個函數(shù)來進行轉(zhuǎn)換UNIX_TIMESTAMP和FROM_UNIXTIME
咱們一一介紹
UNIX_TIMESTAMP
是把時間字段轉(zhuǎn)化為整型,需要注意的是有些數(shù)據(jù)庫需要指明時間字段類型
比如MySQL里是可以直接UNIX_TIMESTAMP('20200223'),而某些大數(shù)據(jù)平臺需要UNIX_TIMESTAMP('20200223','yyyyMMdd')
FROM_UNIXTIME
顧名思義就是從整型里把時間整型進行破解成想要的時間格式,使用時可指定格式
這里面經(jīng)常用到的是UNIX_TIMESTAMP和FROM_UNIXTIME的結(jié)合,比如對一個時間字段進行歸集計算:把'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
補充下格式轉(zhuǎn)換:
%a 縮寫星期名 %b 縮寫月名 %c 月,數(shù)值 %D 帶有英文前綴的月中的天 %d 月的天,數(shù)值(00-31) %e 月的天,數(shù)值(0-31) %f 微秒 %H 小時 (00-23) %h 小時 (01-12) %I 小時 (01-12) %i 分鐘,數(shù)值(00-59) %j 年的天 (001-366) %k 小時 (0-23) %l 小時 (1-12) %M 月名 %m 月,數(shù)值(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 位
到此這篇關(guān)于大數(shù)據(jù)Spark Sql中日期轉(zhuǎn)換FROM_UNIXTIME和UNIX_TIMESTAMP的使用的文章就介紹到這了,更多相關(guān)Spark Sql 日期轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
postgres 數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換
postgres8.3以后,字段數(shù)據(jù)之間的默認轉(zhuǎn)換取消了。如果需要進行數(shù)據(jù)變換的話,在postgres數(shù)據(jù)庫中,我們可以用"::"來進行字段數(shù)據(jù)的類型轉(zhuǎn)換。2009-07-07在CRUD操作中與業(yè)務(wù)無關(guān)的SQL字段賦值的方法
這篇文章主要介紹了在CRUD操作中與業(yè)務(wù)無關(guān)的SQL字段賦值的方法的相關(guān)資料,需要的朋友可以參考下2016-04-04SQL語句優(yōu)化之JOIN和LEFT JOIN 和 RIGHT JOIN語句的優(yōu)化
在數(shù)據(jù)庫的應(yīng)用中,我們經(jīng)常需要對數(shù)據(jù)庫進行多表查詢,然而當(dāng)數(shù)據(jù)量非常大時多表查詢會對執(zhí)行效率產(chǎn)生非常大的影響,因此我們在使用JOIN和LEFT JOIN 和 RIGHT JOIN語句時要特別注意2018-03-03數(shù)據(jù)庫 SQL千萬級數(shù)據(jù)規(guī)模處理概要
我在前年遇到過過億條的數(shù)據(jù)。以至于一個處理過程要幾個小時的。后面慢慢優(yōu)化,查找一些經(jīng)驗文章。才學(xué)到了一些基本方法。綜合敘之,與君探討之。2009-07-07如何判斷a、b、c三個字段同時為0則不顯示這條數(shù)據(jù)
有時候我們需要判斷當(dāng)a、b、c三個字段同時為0則不顯示,下面這個方法不錯,需要的朋友可以參考下2013-08-08大數(shù)據(jù)之Spark基礎(chǔ)環(huán)境
本篇文章開始介紹Spark基礎(chǔ)知識,包括Spark誕生的背景,應(yīng)用環(huán)境以及入門案例等,感興趣的同學(xué)可以參考閱讀本文2023-04-04