我正在嘗試在Amazon Elastic Map Reduce上使用Cloudera Impala Date函數。
The documentation指出,有一個叫dayname
功能,但是當我執行這個查詢:Cloudera日期函數
SELECT dayname(ts) FROM `default`.`data_impala_local` LIMIT 100
我越來越
(150)不支持的標量函數:DAYNAME。
這與許多功能不僅僅是這一個。任何人都知道這裏有什麼問題?
我正在嘗試在Amazon Elastic Map Reduce上使用Cloudera Impala Date函數。
The documentation指出,有一個叫dayname
功能,但是當我執行這個查詢:Cloudera日期函數
SELECT dayname(ts) FROM `default`.`data_impala_local` LIMIT 100
我越來越
(150)不支持的標量函數:DAYNAME。
這與許多功能不僅僅是這一個。任何人都知道這裏有什麼問題?
可能您的日期未正確轉換。
我假設ts
對應於unix時間戳,因此根據文檔,您應該先將其轉換爲字符串。我建議嘗試這樣的:
SELECT dayname(from_unixtime(ts, 'yyyy-mm-dd'))
FROM `default`.`data_impala_local` LIMIT 100;
希望有所幫助。
我發現該功能在Impala 1.2上不受支持,文檔爲2.0 – Dotnetsqlcoder
好吧,我發現亞馬遜使用Impala 1.2,並且文檔適用於Impala 2.0。所以檢查文檔版本很重要。
像DayName和DayofWeek以及許多其他功能在Amazon直到今天都不支持。
你能提供一個小樣本的數據嗎? – madbitloman
我發現該功能在Impala 1.2不支持,如果您可以執行升級到版本2。 – Dotnetsqlcoder