hive常用操作 持續更新

2021-10-02 04:40:03 字數 1200 閱讀 6766

step1 建立表並寫入資料

create

table tb (dt int);

insert

into tb values

(20180701);

insert

into tb values

(20180715

);

step2 日期轉化
select dt,

from_unixtime(unix_timestamp(cast(dt as string)

,'yyyymmdd'),

'yyyy-mm-dd'

)as a,

--方式1

concat(substr(cast(dt as string),1

,4),

'-',substr(cast(dt as string),5

,2),

'-',substr(cast(dt as string),7

,2))

as b --方式2

from tb;

命令說明:

方式1:cast將int型別的dt轉換為字串,unix_timestamp將轉化後的字串轉換為時間戳(這裡需要自定義,yyyymmdd必須對應前面cast轉換後的字串對應的日期格式),from_unixtime從時間戳中提取』yyyy-mm-dd』格式的日期

方式2:cast轉換成字串後進行拆分(substr)和拼接(concat)

日期增加

date_add(string startdate, int days)

日期減少

date_sub (string startdate, int days)

注意,startdate需要轉換成日期格式,一般是』yyyy-mm-dd』格式

select r.user_id,concat_ws(

' ',collect_set(r.product_type_name)

)as product_type_name

from r

group

by r.user_id

上述命令將user_id下的購買的全部產品型別名稱匯成一行(並通過collect_set對乙個user_id下的產品型別名稱進行去重)

linux常用操作,持續更新。。。。

1.修改主機名 hostname 臨時生效,修改後重啟系統失效 hostnamectl set hostname 永久生效,重啟後依然有效2.防火牆命令 systemctl status firewall.service 檢視防火牆狀態 systemctl stop firewall.service...

git常用操作 持續更新中

這個圖是在乙個人的部落格上找到的,侵刪!git push f orgin master 強制提交 git fetch all 強制覆蓋本地 git reset hard origin master git merge git pull origin master 拉取遠端倉庫專案 gitrm r c...

Vim常用小操作 持續更新

命令列模式下輸入 n為指定的行號 1 ngg ng 2 n 3 vim n filename 注意這裡要輸入 號 三者的區別在於,ngg ng輸入以後不需要按下回車鍵,而輸入 n之後還要按下回車鍵才會跳轉,vim n filename只能在開啟檔案時跳轉到相應的行。比如想跳轉到文字的第12行,可以執...