Hive.GROUPINGSETS有BUG?
随着Hive 0.10版的发布,GROUPING SETS出现了,并提供了ROLL UP和CUBE这两个特殊场景的子句,真是喜闻乐见的特性
随着Hive 0.10版的发布,GROUPING SETS出现了,并提供了ROLL UP和CUBE这两个特殊场景的子句,真是喜闻乐见的特性啊。不过最近在写两个HQL查询脚本的时候,我发现,对表达式进行GROUP BY并用GROUPING SETS自定义这些表达式的分组方式时,GROUPING SETS好像会出现解析异常:
FAILED: ParseException line 66:14 missing ) at ',' near ')' in subquery source line 66:80 mismatched input ',' expecting ) near ')' in subquery source
group by t1.my_month, t1.product, t1.usr_type, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), if(t2.CTClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID grouping sets ((t1.my_month, t1.usr_type, t1.ChannelID), (t1.my_month, t1.product, t1.usr_type, t1.ChannelID), (t1.my_month, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), t1.ChannelID), (t1.my_month, t1.product, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), t1.ChannelID), (t1.my_month, if(t2.Dim_CityClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID), (t1.my_month, t1.product, if(t2.CTClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID))
理论上,表达式和字段应该一样,可以出现在GROUPING SETS子句里并进行任意组合,对一些表达式的实测结果也表明GROUPING SETS里确实是支持表达式的。
这样的情况,使我怀疑GROUPING SETS子句的括号匹配逻辑没做得很完善,导致了括号配对抛出异常。不过,具体的问题,还是需要通过研究一下Hive实现源码来进一步确定这到底是不是一个BUG。
--------------------------------------------------------------------------------------------------------------------
2014-04-28
今天发现,好像是限定性名称的原因呢!就和Java的switch...case的case子句一样,case子句里的枚举值不能用限定性名称(EnumType.EnumValue1),只能用非限定性名称(EnumValue1)!难道grouping sets的Java实现涉及到switch...case子句?有待研究。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

遊戲bug是什麼意思在玩遊戲的過程中,我們常常會遇到一些意想不到的錯誤或問題,例如角色卡住、任務無法繼續、畫面閃爍等等。這些不正常的現象就被稱為遊戲bug,也就是遊戲中的故障或錯誤。在本文中,我們將探討遊戲bug是什麼意思以及對玩家和開發者的影響。遊戲bug是指在遊戲的開發或運作過程中出現的錯誤,導致遊戲無法正常進行或出現不符合預期的情況。這些錯誤可能是由於

隨著蘋果WWDC發表會2024圓滿落幕,不僅揭曉了macos15,其中最受關注的還是蘋果iOS18新系統的更新,雖然有很多新功能出現,但是作為蘋果iOS18首版不免讓人糾結是否有必要升級蘋果iOS18,在最新發表的蘋果iOS18中又有哪些BUG存在呢?經過真實的使用測評,以下是蘋果iOS18bug匯總,一起來看看。目前有許多iPhone用戶都搶先升級到了iOS18.但各種系統Bug讓人難受。有部落客表示,升級iOS18要謹慎,因為「Bug多到飛起」。部落客表示,如果你的iPhone是

系統bage就是指系統bug;bug原意是“臭蟲”,現在用來指稱電腦上存在的漏洞,原因是系統安全策略上存在的缺陷,有攻擊者能夠在未授權的情況下訪問的危害;廣義上,bug可用作形容各領域範圍內出現的漏洞或缺陷。

有些人想更新win11,但不知道win11bug多嗎,更新會不會出問題,實作在win11有bug,不過對使用影響不大。 win11bug多嗎:答:win11bug現在還是比較多的。不過這些bug對於日常使用的影響不大。如果使用者對於日常的使用要求很高的話,建議還是晚點再使用吧。 win11bug匯總一、資源管理器1、有時候會出現記憶體溢出,導致資源管理器記憶體佔用高。 2.這種情況會導致記憶體佔用超過70%,電腦卡頓、甚至崩潰。二、衝突死機1、部分應用程式相容性不足,導致互相衝突。 2、雖然衝突程序比較少,

近年來,資料倉儲成為了企業資料管理中不可或缺的一部分。直接使用資料庫進行資料分析可以滿足簡單的查詢需求,但當我們需要進行大規模資料分析時,單一資料庫已經無法滿足需求,這時我們需要使用資料倉儲來處理大量資料。而Hive則是資料倉儲領域中最受歡迎的開源元件之一,它可以將Hadoop分散式運算引擎和SQL查詢整合在一起,並支援大量資料的平行處理。同時,在Go語言中使

PHP是一種廣泛使用的伺服器端程式語言,它的使用範圍幾乎涵蓋了所有產業。在本篇文章中,我們將探討PHP對於大數據處理的特殊作用。在特定環境下,PHP可以與ApacheHive協作,從而實現即時數據處理和分析。先來介紹一下Hive。 Hive是一個基於Hadoop的資料倉儲解決方案。它可以將結構化資料映射成SQL查詢,並以MapReduce任務的方式執行查詢。

隨著資料處理越來越重要,大數據分析也變得越來越普遍。然而,許多公司可能不想花費大量資金在商業分析平台上。開源解決方案為這些公司提供了一個可行的選擇。在這篇文章中,我們將討論如何使用PHP實作開源Hive大數據分析平台。 Hive是一個基於Hadoop的資料倉儲系統,可以透過SQL查詢並管理Hadoop上的大規模資料集。它使用類似SQL的HiveQL語言來查詢

BUG的生命週期就是一個BUG被發現到這個BUG被關閉的過程,具體過程為:1、發現BUG,即發現軟體程式的漏洞或缺陷;2、提交bug,需要盡量描述這個缺陷的屬性、重現環境、類型、等級,優先順序以及詳細的重現步驟、結果與期望等;3、指派bug,即將問題直接指派給對應的開發人員;4、分析並確認為缺陷;5、處理並修復BUG; 6、回歸驗證BUG;7、關閉BUG。
