我一直在試圖自動化Hive中的報告,這需要在過去30天內獲取數據。Hive相當於從當前分區日期獲取數據
等效於SQL:
select * from som_table where part >= Sysdate-30 and part < sysdate-1
我使用下面的查詢,但我不能得到MR工作開始。
select *
from some_table
where part >= date_add(date_add(FROM_UNIXTIME(UNIX_TIMESTAMP(), 'yyyy-MM-dd'),-1),1 - day(date_add(FROM_UNIXTIME(UNIX_TIMESTAMP(), 'yyyy-MM-dd'),-1)))
and part < date_add(FROM_UNIXTIME(UNIX_TIMESTAMP(), 'yyyy-MM-dd'),-1)
我搜索了但它說我必須通過腳本找到解決方案,但我需要在另一項工作中運行此查詢。
「我搜索過但它說我必須通過腳本找到解決方案,但我需要在其他工作中運行此查詢。」請解釋這是什麼意思?你看到的具體錯誤是什麼? – gobrewers14
我簡直不明白爲什麼你把「SysDate -30」翻譯成一個非常複雜的公式,最終產生「SysDate -day(SysDate)」。無論如何,「SysDate -30」是Oracle方言,而不是標準的SQL。 –