我需要幫助創建查詢。我有下面的表格。獲取最近一小時的數據
Name(String) | Capacity(String) | Time(BIGINT)
我想得到在上個小時有Time
的行。我怎樣才能做到這一點?
我試過但沒有工作。
select *
from table1
where Time > (unix_timestamp() - 60*60*1000);
請幫幫我。
我需要幫助創建查詢。我有下面的表格。獲取最近一小時的數據
Name(String) | Capacity(String) | Time(BIGINT)
我想得到在上個小時有Time
的行。我怎樣才能做到這一點?
我試過但沒有工作。
select *
from table1
where Time > (unix_timestamp() - 60*60*1000);
請幫幫我。
問題解決
GET hourfromunix。它發生是因爲unix_timestamp()是在幾秒鐘內發出的,我沒有注意到這一點。更改代碼如下工作。
select * from table1 where Time > (unix_timestamp()*1000 - 60*60*1000);
感謝所有。
我不認爲有一個功能。
的一種方法是,你必須採取小時從UNIX的shell腳本
select *
from table1
where Time > ${hiveconf:onehourago};
寫上面的代碼在一個文件
並調用像下面的上述文件中的shell腳本。通過使用date -d "1 hour ago" +%Y%m%d%H%M%S
Hive -hiveconf onehourago=$hourfromunix -f filename.hql
你是什麼意思_「沒有工作」_?你有錯誤信息嗎? – Kai 2013-04-23 09:30:14